我需要创建一个批处理文件(.bat),即使在启动的程序终止后,该文件仍可使控制台窗口保持打开状态(目的是检查控制台窗口的输出)。为此,我尝试使用“ / WAIT”开关:
@ECHO OFF
title test
@ECHO ON
start "" /WAIT "C:\My CLI Tools\7zip\x64\7za.exe"
但是,尽管使用了“ / WAIT”开关,但在终止7za.exe之后,控制台窗口仍会自动关闭。 (显然,“ / WAIT”开关只等到启动的程序终止后才可以。)
那么,即使终止了7za.exe,如何使控制台窗口保持打开状态?
答案 0 :(得分:2)
start /wait
告诉批处理在执行下一行或完成脚本之前等待程序终止。要使其保持打开状态且不执行任何操作,可以使用暂停:
@ECHO OFF
title test
@ECHO ON
"C:\My CLI Tools\7zip\x64\7za.exe"
pause
或超时:
@ECHO OFF
title test
@ECHO ON
start "" /WAIT "C:\My CLI Tools\7zip\x64\7za.exe"
timeout /t 300
但是这两种方法在超时或您按任意键之前都不会起作用。
如果您期望在cmd窗口中输出,并且该命令实际上将输出提供给cmd控制台,则您不应start
在当前控制台窗口之外进行输出。只要做:
@ECHO OFF
title test
@ECHO ON
"C:\My CLI Tools\7zip\x64\7za.exe"
pause