从批处理文件启动的程序终止后,如何保持控制台窗口打开?

时间:2018-08-30 09:03:36

标签: windows batch-file windows-console

我需要创建一个批处理文件(.bat),即使在启动的程序终止后,该文件仍可使控制台窗口保持打开状态(目的是检查控制台窗口的输出)。为此,我尝试使用“ / WAIT”开关:

@ECHO OFF
title test
@ECHO ON
start "" /WAIT "C:\My CLI Tools\7zip\x64\7za.exe"

但是,尽管使用了“ / WAIT”开关,但在终止7za.exe之后,控制台窗口仍会自动关闭。 (显然,“ / WAIT”开关只等到启动的程序终止后才可以。)

那么,即使终止了7za.exe,如何使控制台窗口保持打开状态?

1 个答案:

答案 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