Java中的子批处理文件退出代码

时间:2017-03-23 01:05:13

标签: java batch-file

我有一个批处理文件A,它在带有Process process = new ProcessBuilder("...").start()的java程序中调用。

批处理文件A调用另一个批处理文件B.在我的情况下,B的退出代码与A的退出代码不同,因为B可能会不时失败。我的问题是在java程序中,我似乎无法通过任何方式得到B的退出代码。我想知道是否有办法实现我想要的目标。

1 个答案:

答案 0 :(得分:0)

Batch A.bat调用B.bat
批次B.bat将返回随机错误级别0/1
批处理A将相同的eror级别切换到调用者/控制台

:: A.bat
@Echo off
Echo about to call B.bat
Call B.bat
Echo Back in A.bat Errorlevel=%Errorlevel%=
Exit /B %Errorlevel%
:: B.bat
@Echo off
Echo this is B.bat
Set /A "RandErr=%Random% %% 2"
Echo Exit /B %RandErr%
     Exit /B %RandErr%

示例运行:

> a
about to call B.bat
this is B.bat
Exit /B 0
Back in A.bat Errorlevel=0=

> a
about to call B.bat
this is B.bat
Exit /B 1
Back in A.bat Errorlevel=1=