首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows批处理文件中获取Java程序的退出状态

如何在Windows批处理文件中获取Java程序的退出状态
EN

Stack Overflow用户
提问于 2009-05-20 09:37:25
回答 5查看 39.6K关注 0票数 25

与Linux中的$?类似,有没有办法在Windows批处理文件(.bat)中获取程序的退出状态?

例如,程序在成功执行时有一个System.exit(0),失败时有一个System.exit(1),我如何在.bat文件中捕获这些退出值?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-05-20 09:41:05

使用%ERRORLEVEL%。你不喜欢批处理文件的清晰和简洁吗?:)

票数 28
EN

Stack Overflow用户

发布于 2009-05-20 09:42:03

类似于:

代码语言:javascript
复制
java Foo
set exitcode=%ERRORLEVEL%
echo %exitcode%

将其作为批处理文件的绝对下一行非常重要,以避免错误级别被覆盖:)

请注意,如果使用

代码语言:javascript
复制
IF ERRORLEVEL number

批处理文件的“特性”,意思是“如果错误级别大于或等于number”--它不是基于相等的。我以前也被它咬过:)

票数 28
EN

Stack Overflow用户

发布于 2009-05-20 09:46:06

Raymond Chen有一篇很好的博客文章,名为ERRORLEVEL is not %ERRORLEVEL%。值得一查。

同样值得注意的是,大多数人认为是注释的REM命令,实际上不是。REM命令是一个nop命令,总是在之后。在REM之后,错误级别始终为0。所以

代码语言:javascript
复制
willalwaysfail.bat
REM unless you insert a comment after it
if errorlevel 1 goto fail

永远不会失败。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/887066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档