我正在将命令行输出写入文件,然后想要在记事本中打开此文件。 所以我写了类似下面的内容(简化示例):
set logPath=log.txt
echo %date% %time% > %logPath%
notepad %logPath%
但问题是当运行最后一个命令(notepad%logPath%)时,尚未创建文件(或内容未刷新),因此记事本不会打开不存在的文件或打开空的(取决于)。
所以我想知道是否有办法从命令行强制关闭文件。
UPD:谢谢你的评论,你是对的:这个特别(简化)的例子确实有效。我试过W7并且评论中有报告说它在XP和Vista中都有效。它不在原始脚本中,会尝试在那里查找错误。
答案 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