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

29

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

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

我的问题是DoStuff.cmd会执行一个Java程序,一旦完成就会退出批处理并返回到命令提示符。第二行代码永远无法被执行。

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

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

以上内容的作用是,新的命令窗口生成cmd文件并运行,然后回到等待命令提示符的状态,该窗口永远不会关闭,导致第一个命令窗口一直处于等待状态,而第二个窗口在完成步骤一后被卡住无法继续执行。

如何执行第一个命令,使其不会以某种方式控制批处理运行?

非常感谢您提前的帮助。

1个回答

42

你可以使用DOS call命令

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

获取错误代码后,您可以按照以下步骤进行处理:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接