Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何关闭从命令行创建的文件?_Windows_File_Command Line - Fatal编程技术网

Windows 如何关闭从命令行创建的文件?

Windows 如何关闭从命令行创建的文件?,windows,file,command-line,Windows,File,Command Line,我正在将命令行输出写入文件,然后想在记事本中打开此文件。 因此,我写了如下内容(简化示例): 但问题是,当最后一个命令运行时(记事本%logPath%),文件尚未创建(或内容未刷新到其中),因此记事本不会打开不存在的文件或打开一个空文件(取决于) 所以我想知道是否有办法从命令行强制关闭文件 UPD:谢谢你的评论,你是对的:这个特别的(简化的)例子确实有效。我在W7上试过,评论中有报告说它在XP和Vista中确实有效。它不在原始脚本中,将尝试在那里查找错误。您的示例代码在Microsoft Win

我正在将命令行输出写入文件,然后想在记事本中打开此文件。 因此,我写了如下内容(简化示例):

但问题是,当最后一个命令运行时(记事本%logPath%),文件尚未创建(或内容未刷新到其中),因此记事本不会打开不存在的文件或打开一个空文件(取决于)

所以我想知道是否有办法从命令行强制关闭文件


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