如果被调用的命令执行 exit,如何避免退出 Windows cmd 终端?
How to avoid exit of Windows cmd terminal if called command executes `exit`?
在 Windows cmd 终端中,通过 cmd,我调用了命令脚本 (.cmd),但其中一些执行了没有 /B
的 exit [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 保持打开状态。
在 Windows cmd 终端中,通过 cmd,我调用了命令脚本 (.cmd),但其中一些执行了没有 /B
的 exit [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 保持打开状态。