如果被调用的命令执行 exit,如何避免退出 Windows cmd 终端?

How to avoid exit of Windows cmd terminal if called command executes `exit`?

在 Windows cmd 终端中,通过 cmd,我调用了命令脚本 (.cmd),但其中一些执行了没有 /Bexit [code],因此我的 Windows 终端终止。

如果被调用的命令在没有 /B 的情况下执行 exit,如何避免退出 Windows cmd 终端?

您是否尝试过将退出代码设置为 0?是这样的吗?

command && exit 0

我对 cmd 命令没有太多经验,但我相信它应该有用。

您可以用 cmd /c 调用 scriptname.cmd。这样 exit 将退出您的 cmd /c 调用,而不是祖先的控制台进程。

Test1.bat:

@echo off & setlocal

echo Exiting.
exit 0

Test2.bat:

@echo off & setlocal

echo Invoking Test1.bat
cmd /c Test1.bat

echo Still running!

Test2.bat的输出:

Invoking Test1.bat
Exiting.
Still running!

...并且控制台 window 保持打开状态。