在可执行文件运行时如何让Windows批处理文件暂停?

时间:2008-12-08 07:27:13

标签: windows batch-file

我正在编写一个批处理文件,我在其中调用EXE来执行。现在,调用EXE之后的语句不应该执行,直到EXE完成执行。如何在批处理文件中(在Windows上)执行此操作?

6 个答案:

答案 0 :(得分:14)

START /WAIT First.exe
START /WAIT Second.exe

答案 1 :(得分:7)

这取决于.exe的工作原理。我担心我没有所有的技术细节或术语,但是一些.exe文件会在它们启动后立即返回对会话的控制,而其他文件在程序终止之后才会返回控制。

第二种情况很简单,因为文件后期的命令在前者完成之前不会执行,因此我假设您正面临案例#1。

如果执行每次运行(大约)相同的时间是一个简单的解决方法/黑客,那就是使用带有延迟的ping命令。

PING 127.0.0.1 -n 1 -w 120000 >NUL

这将强制ping命令以120000ms(2分钟)的延迟运行一次。

还有一篇关于fpschultze.de更复杂(但更可靠的方法)的文章,有更详细的解释。简而言之,您查询任务列表,搜索您正在等待的可执行文件。一旦它不存在,你就继续使用批处理文件。它也使用ping方法,但方式不同。

答案 2 :(得分:6)

批处理文件中的语句按顺序执行。因此,如果您的批处理文件如下所示:

first.exe
next.exe

如果第一次完成,则执行下一步。

答案 3 :(得分:4)

您可以使用带参数/ wait的“start”命令 使用start /?在命令行上了解详情。

答案 4 :(得分:3)

这是一个非常简单的过程。只需保持以下行等待10秒,然后继续执行其他命令......

TIMEOUT /T 10

这就是你要做的一切。我希望你喜欢我的技术。

答案 5 :(得分:0)

您可以使用

PAUSE

在批处理脚本中,但我不明白你的问题。