将输出重定向到批处理文件中的文件需要关闭? (批处理脚本)

时间:2017-07-07 11:18:03

标签: windows batch-file echo file-handling

在批处理脚本中将输出重定向到类似的文件

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

是否需要在完成向其写入内容的重定向后关闭文件(类似于其他编程语言中的方法)?

我尝试在网上搜索相关信息,但却找不到相关信息;我假设大多数脚本在完成任务(命令)后关闭的事实可能就是原因。

但是,如果说脚本要在无限循环中运行,其中写入了不同的output文件(例如,将时间附加到output文件名)或如果新输出不断被重定向到相同的output文件,“不关闭文件”可能会导致问题,内存或其他?

1 个答案:

答案 0 :(得分:0)

不,您不必关闭批处理脚本中的任何文件句柄。您不知道文件句柄值,因此如果您愿意,甚至无法关闭它。

在Windows上,当进程结束/崩溃时,所有打开的内核句柄都会关闭,但由于cmd.exe解释批处理文件而在大多数情况下没有启动新的cmd.exe进程,因此无法利用自动句柄清理并在每次重定向操作后手动关闭文件句柄。