2011-04-11 393 views

回答

19

你是不是故意這樣?

set fo [open file a] 
foreach different_content {"text 1" "text two" "something else" "some content"} { 
    puts $fo $different_content 
} 
close $fo 

你打開文件file在模式a(追加),並寫入到文件描述符($fo中的例子)。

更新:如果你想變的內容追加,你必須在腳本更改爲:

set fo [open file a] 
foreach different_content [list $data1 $data2 $data3 $data4] { 
    puts $fo $different_content 
} 
close $fo 
+0

感謝您的快速回復。 – 2011-04-11 12:41:59

+0

是的,我親愛的,它的工作很好,非常感謝你............ – 2011-04-11 12:48:03

+0

它好吧。但我還有一個問題。問題是,假設我聲明如下:set data1「connect/as sysdba; \ n」 set data2 {spool $ TMP /「DBTEST」_dbmode.txt} set data3「\ nSELECT OPEN_MODE,NAME,CONTROLFILE_TYPE FROM V \ $ DATABASE; \ n「等等....如果我想寫入一個文件,那麼我該如何替換data1,data2 ..... values。確切地說,我想我想把$ data1值放在foreach循環中,所以我應該怎麼做,請幫助我.. set data4「spool off; \ n」 – 2011-04-12 09:11:51

0

下面的代碼是罰款從一個文件,其中sample.tcl文件可在「P閱讀'文件夾。

標題

set fp [open "p://sample.tcl" r] 

set file_data [read $fp] 

puts $file_data 

close $fp 
-1

下面的代碼創建文件夾'P'一個文本文件,並寫入到它。

set fid [open p:\\temp.txt w] 

puts $fid "here is the first line." 

close $fid