在 CMD 中等待进程完成

6 windows batch command-line cmd.exe

我想编写一个执行另一个批处理文件的批处理文件,等待它完成该过程(即等待 CMD 窗口关闭),然后启动另一个应用程序(.exe)。我怎样才能做到这一点?我试过这个,但它同时运行两个进程:

start "" "C:\Program Files\batch1.bat" /w
start "" "C:\Program Files\process1.exe"
Run Code Online (Sandbox Code Playgroud)

PS:我不确定它是否重要,但我提到的batch1.bat 文件执行一组需要几秒钟才能完成的程序。

AFH*_*AFH 11

您的基本错误是/w在 start 命令中的定位:在您的命令中,它是一个参数 to batch1,而不是 to start。你应该使用:

start /w "" "C:\Program Files\batch1.bat"
Run Code Online (Sandbox Code Playgroud)

但是,不启动新cmd进程而是使用以下方法更有效:

call "C:\Program Files\batch1.bat"
Run Code Online (Sandbox Code Playgroud)

  • 使用 start 最终不适用于我正在使用的流程。“呼叫”命令完美运行,谢谢! (2认同)