在批处理中等待命令运行

时间:2014-06-11 09:18:21

标签: batch-file

我有一个批处理脚本和许多命令等,这是我需要帮助的一个:

findstr /i /v /%HomeDrive%"Registered Owner" %HomeDrive%\%HomePath%\Document\FOLDERNAMEHERE\systeminfo1.txt >%HomeDrive%\%HomePath%\Documents\FOLDERNAMEHERE\systeminfo.txt

这对我来说基本上是它从sysinfo日志中删除了注册所有者字段,然后在没有注册所有者的情况下转储新创建的sysinfo日志。我的问题是,鉴于这是一个批处理脚本,它的速度太快,并且没有足够的时间将任何信息写入第二个.txt日志。它是用0KB创建的,并且是空白的。

我尝试在上面的代码之后实现一行:

timeout /t 15 /nobreak >NUL

然而,这对我没有好处,因为运行上面的代码之后,而不是在。

任何人都可以告诉我如何将文件时间写入,所以批处理没有直接进入批处理中的下一行代码,只留下0KB .txt?

1 个答案:

答案 0 :(得分:0)

您必须更正findstr命令。 /c:"string"是指示搜索字符串参数的方式,c:与任何驱动器无关。有关允许的切换的完整参考,请参阅findstr /?

对于等待,您必须等待 findstr之前等待完成生成数据的过程。

或者,如果通过重定向(command > file.txt)生成日志到输出文件,则可以将数据传输到findstr。像

这样的东西
whateverRetrivesData | findstr /i /v /c:"Registered Owner" > somewhere\file.txt