【问题标题】:Redirecting output to file in batch file requires closing? (batch script)将输出重定向到批处理文件中的文件需要关闭吗? (批处理脚本)
【发布时间】:2017-07-07 11:18:03
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: windows batch-file echo file-handling


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多