Board logo

标题: [其他] 批处理怎么获取Java中System.exit(statuscode)的状态值statuscode [打印本页]

作者: lxlsh    时间: 2014-1-17 17:37     标题: 批处理怎么获取Java中System.exit(statuscode)的状态值statuscode

本帖最后由 pcl_test 于 2016-8-17 23:10 编辑

我有一个Java类,里面有个Main函数,调用了System.exit(int statuscode)方法,我想通过DOS命令执行Java命令调用这个类然后获取到这个状态值怎么获取到,求助啊
作者: DAIC    时间: 2014-1-17 17:53

  1. @echo off
  2. REM 把你希望得到的结果在java代码里面输出出来
  3. for /f "delims=" %%i in ('java xxoo') do (
  4.     echo %%i
  5. )
  6. pause
复制代码

作者: lxlsh    时间: 2014-1-20 10:18

回复 2# DAIC


    我也本来试过这样的,我的代码如下:
for /f "delims=" %%i in ('java %HJVM_ARGS% -cp "%SELFPATH%" com.tms.install.tool.InstallVer') do (
    echo %%i
)
在com.tms.install.tool.InstallVer里面有main函数,这个函数在结束退出的时候用的是System.exit(statuscode)这种方式结束的,我就想得到这个statuscode这个值,可现在好像还是得不到,求指导分析啊
作者: DAIC    时间: 2014-1-20 11:05

回复 3# lxlsh


java %HJVM_ARGS% -cp "%SELFPATH%" com.tms.install.tool.InstallVer
你直接执行这个命令如果不能print出statuscode,那么批处理是获取不到的。
作者: lxlsh    时间: 2014-1-20 14:36

回复 4# DAIC


    不能print出来的,因为Main函数调用的是System.exit(0)这种方式不会在DOS窗口的控制台中打印出东西的
作者: DAIC    时间: 2014-1-20 14:51

回复 5# lxlsh


    这个是无法获取的
作者: lxlsh    时间: 2014-1-20 15:47

回复 6# DAIC


    我之前在这个帖子上看到有别的办法获取到,就是找不到这么做的那个哥们,http://bbs.csdn.net/topics/350221690,真是伤脑筋,谢谢你啊
作者: terse    时间: 2014-1-20 16:17

本帖最后由 terse 于 2014-1-20 16:19 编辑

先在cmd 里试 java %HJVM_ARGS% -cp "%SELFPATH%" com.tms.install.tool.InstallVer
有什么返回值?
另看 %errorlevel% 值是多少

估计控制台空的话 也难取
作者: DAIC    时间: 2014-1-20 16:19

回复 7# lxlsh


开始
运行
cmd
java %HJVM_ARGS% -cp "%SELFPATH%" com.tms.install.tool.InstallVer
echo %errorlevel%
结果发出来看看




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2