我在Windows 7企业版,并呼吁从0,1或2取决于条件,返回批处理文件罐子,我曾用“System.exit”为同一,批处理文件ERRORLEVEL问题
下面是我的批处理脚本
@echo off
java -jar "test.jar" %*
set exitcode=%ERRORLEVEL%
echo here is 1st exit code %exitcode%
if %exitcode% == 2 (
VERIFY > nul
set exitcode=%ERRORLEVEL%
echo here is 2nd exit code after VERIFY %exitcode%
call test.exe %*
echo here is 2nd exit code %ERRORLEVEL%
if %ERRORLEVEL% == 0 (
cmd /c "exit /b 0"
call test1.exe -f
echo here is 3rd exit code %errorlevel%
)
)exit /b %errorlevel%
我在上面的代码做的是什么,调用一个罐子,根据ERRORLEVEL返回我打电话另一个exe文件,并再次取决于EXE我打电话第三exe文件的错误级别。问题是,我得到的exitcode是第一个退出代码,即使test.jar与2一起存在,即使成功执行其他exes errorlevel后也不会更改。而第三个exe永远不会被执行。尝试不同的方法调用
CMD退出/ B 0
重置错误级别为0,但它不工作的。
随机downvoter:为什么呢? – Joey 2012-07-20 08:16:12