我正在写一个批处理文件,我在其中调用EXE来执行.现在,调用EXE之后的语句不应该执行,直到EXE完成执行.如何在批处理文件中(在Windows上)执行此操作?
START /WAIT First.exe START /WAIT Second.exe
这取决于.exe的工作原理.我担心我没有所有的技术细节或术语,但是一些.exe文件会在它们启动后立即返回对会话的控制,而其他文件在程序终止之后才会返回控制.
第二种情况很简单,因为文件后期的命令在前者完成之前不会执行,因此我假设您正面临案例#1.
如果执行每次运行(大约)相同的时间是一个简单的解决方法/黑客,那就是使用带有延迟的ping命令.
PING 127.0.0.1 -n 1 -w 120000 >NUL
这将强制ping命令以120000ms(2分钟)延迟运行一次.
在fpschultze.de上还有一篇关于更复杂(但更可靠的方法)的文章,其中有更详细的解释.简而言之,您查询任务列表,搜索您正在等待的可执行文件.一旦它不存在,你就继续使用批处理文件.它也使用ping方法,但方式不同.
批处理文件中的语句按顺序执行.因此,如果批处理文件如下所示:
first.exe next.exe
如果第一个完成,则执行Next.