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

问题描述 投票:0回答:1

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

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

但是,尽管使用“/ WAIT”开关,控制台窗口会在7za.exe终止后自动关闭。 (显然,“/ WAIT”开关仅等待已启动的程序终止)。

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

windows batch-file windows-console
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.