我正在使用批处理文件来运行程序,然后在程序运行时让控制台保持打开状态。我正在寻找一种方法从同一个脚本调用另一个批处理文件,由关闭我之前打开的程序触发。我怎样才能做到这一点?
你可以使用:START /WAIT program.exe
请记住,当您尝试启动的程序是启动程序时,这将不起作用,因为启动程序可以在启动实际程序后自行关闭或保持打开但实际程序已关闭;因此,当发射器关闭时,将执行下一行。
如果是这种情况,您可以使用TASKLIST
(Source):
:check_status
TASKLIST /FI "IMAGENAME EQ program.exe" |FIND ":" > nul
IF ERRORLEVEL 1 GOTO check_status
如果您不需要立即执行下一行,这将显着降低CPU使用率,您还可以添加TIMEOUT
:
:check_status
TASKLIST /FI "IMAGENAME EQ program.exe" |FIND ":" > nul
IF ERRORLEVEL 1 TIMEOUT /T 1 /NOBREAK && GOTO check_status