如何阻止 Windows 批处理文件提前退出?

Posted

技术标签:

【中文标题】如何阻止 Windows 批处理文件提前退出?【英文标题】:How do you stop a Windows Batch file from exiting early? 【发布时间】:2012-01-19 01:58:41 【问题描述】:

我有一个类似于以下内容的 Windows 批处理文件:

C:\DoStuff.cmd
move output.bak C:\newfolder\output.bak

我遇到的问题是 DoStuff.cmd 执行一个 java 程序,一旦完成退出批处理运行回到命令提示符。第 2 行永远不会被击中。

我尝试了以下方法来在新窗口中执行命令:

start "My program" /WAIT C:\DoStuff.cmd
move output.bak C:\newfolder\output.bak

上面的情况是,新的命令窗口产生了 cmd 文件运行并退出到等待的命令提示符,并且窗口永远不会关闭,让第一个命令窗口等待,而第二个命令窗口在完成第一步后什么也不做。

如何在不控制批处理运行的情况下执行第一个命令?

提前多谢

【问题讨论】:

【参考方案1】:

你可以使用DOS call command:

@echo off
call C:\DoStuff.cmd
echo Exit Code = %ERRORLEVEL%

获得错误代码后,您可以继续:

if "%ERRORLEVEL%" == "1" exit /B 1

【讨论】:

以上是关于如何阻止 Windows 批处理文件提前退出?的主要内容,如果未能解决你的问题,请参考以下文章

windows批处理文件不退出

如果超过一分钟的 Windows 批处理文件,则退出循环

使用 Windows 批处理命令循环直到文件存在

windows *.bat批处理插入延时命令的方法

一个批处理文件如何获取另一个批处理文件的退出代码?

如何阻止批处理文件将额外的行回显到文件中? [复制]