2017-07-07 138 views
0

在批處理腳本輸出重定向到一個文件,像這樣在批處理文件中將輸出重定向到文件需要關閉? (批處理腳本)

set "output=C:\output.txt" 
echo Blah blah blah. >> %output% 

需要它,爲它完成(類似於其他的辦法將文件寫入東西重定向後關閉編程語言)?

我曾嘗試在網上搜索相關信息,但無法找到相關信息;我認爲大多數腳本在完成任務(命令)後關閉的事實也許是原因。

但是,如果說劇本是在無限循環其中一個不同output文件寫入(例如,通過附加的時間爲output文件名)運行,或者如果新的輸出不斷被重定向到同一個output文件,「不能關閉文件」可能會導致問題,內存或其他?

回答

0

不,您不必關閉批處理腳本中的任何文件句柄。你不知道文件句柄值,所以如果你想的話,你甚至不能關閉它。

在Windows上,當進程結束/崩潰時,所有打開的內核句柄都會關閉,但由於批處理文件在大多數情況下無法啓動新的cmd.exe進程,因此會被cmd.exe解釋,因此無法利用自動句柄清理並在每次重定向操作後手動關閉文件句柄。