Windows 如何关闭从命令行创建的文件?
我正在将命令行输出写入文件,然后想在记事本中打开此文件。 因此,我写了如下内容(简化示例): 但问题是,当最后一个命令运行时(记事本%logPath%),文件尚未创建(或内容未刷新到其中),因此记事本不会打开不存在的文件或打开一个空文件(取决于) 所以我想知道是否有办法从命令行强制关闭文件Windows 如何关闭从命令行创建的文件?,windows,file,command-line,Windows,File,Command Line,我正在将命令行输出写入文件,然后想在记事本中打开此文件。 因此,我写了如下内容(简化示例): 但问题是,当最后一个命令运行时(记事本%logPath%),文件尚未创建(或内容未刷新到其中),因此记事本不会打开不存在的文件或打开一个空文件(取决于) 所以我想知道是否有办法从命令行强制关闭文件 UPD:谢谢你的评论,你是对的:这个特别的(简化的)例子确实有效。我在W7上试过,评论中有报告说它在XP和Vista中确实有效。它不在原始脚本中,将尝试在那里查找错误。您的示例代码在Microsoft Win
UPD:谢谢你的评论,你是对的:这个特别的(简化的)例子确实有效。我在W7上试过,评论中有报告说它在XP和Vista中确实有效。它不在原始脚本中,将尝试在那里查找错误。您的示例代码在Microsoft Windows XP[版本5.1.2600]下适用于我。 据我所知,你们只需要关闭你们打开的文件,而管道并没有打开 所以你应该检查你的真实代码是否有错误(用它更新你的问题?)。试试这个:
echo %date% %time% > log.txt
notepad %logPath%
我想,它在重定向时需要一个文件名,而不是一个变量名。这个问题似乎很奇怪,但是如果它发生了,为什么不等一会儿呢
CHOICE /C:x /T:x,1 > NUL
该文件应在批处理中自动关闭。您的示例在我的Vista机器上运行良好。是否可能实际问题与文件名或原始脚本中的其他内容有关。我尝试过,但不幸的是,对我无效。实际上,我后来引入了一个变量,最初它正是您所说的。@RC管道和开口有什么不同?管道由shell处理,开口由开发人员处理
CHOICE /C:x /T:x,1 > NUL