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

时间:2010-09-24 11:49:12

标签: windows file command-line

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

set logPath=log.txt
echo %date% %time% > %logPath%
notepad %logPath%

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

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

UPD:谢谢你的评论,你是对的:这个特别(简化)的例子确实有效。我试过W7并且评论中有报告说它在XP和Vista中都有效。它不在原始脚本中,会尝试在那里查找错误。

3 个答案:

答案 0 :(得分:0)

您的示例代码适用于Microsoft Windows XP [版本5.1.2600]。 据我所知,你只需要关闭你打开的文件,管道没有打开。

所以你应该检查你的真实代码是否有错误(用它更新你的问题?)。

答案 1 :(得分:0)

试试这个:

echo %date% %time% > log.txt
notepad %logPath%

我认为,它需要重定向文件名,而不是变量名。

答案 2 :(得分:0)

这个问题看起来很奇怪,但如果它出现了,为什么不等一秒

CHOICE /C:x /T:x,1 > NUL