Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从jar获取退出代码时出现问题_Java_Batch File_Jar - Fatal编程技术网

Java 从jar获取退出代码时出现问题

Java 从jar获取退出代码时出现问题,java,batch-file,jar,Java,Batch File,Jar,我制作了一个jar文件,它以表示图像文件路径的字符串作为参数。之后,我制作了一个批处理文件,其中包含一个字符串(图片文件夹的路径)作为参数。然后它在一个循环中启动jar文件,给它提供图像文件。问题是它应该从jar返回errorlevel,但它只返回0。这是批处理文件: set arg1=%1 setlocal enabledelayedexpansion for %%i in (%arg1%\*.*) do (java -jar %~dp0DrawingLinesBytedeco.jar "%%

我制作了一个jar文件,它以表示图像文件路径的字符串作为参数。之后,我制作了一个批处理文件,其中包含一个字符串(图片文件夹的路径)作为参数。然后它在一个循环中启动jar文件,给它提供图像文件。问题是它应该从jar返回errorlevel,但它只返回0。这是批处理文件:

set arg1=%1
setlocal enabledelayedexpansion
for %%i in (%arg1%\*.*) do (java -jar %~dp0DrawingLinesBytedeco.jar "%%i" 
set exitcode=%ERRORLEVEL%
call echo exit code %exitcode%)
这是java代码的一部分:

if(horizontal > vertical) {
        System.out.println("The Image is horizontal");
        System.out.println("The Image is ok");
    }
else {
        System.out.println("The Image is vertical");
        System.out.println("The Image should turn");
        System.exit(1);
     }
这是我在控制台中运行它时得到的输出 试试这个

set arg1=%1
goto MAIN

:JAVA
java -jar %~dp0DrawingLinesBytedeco.jar %1
set exitcode=%ERRORLEVEL%
call echo exit code %exitcode%
goto :EOF

:MAIN
for %%i in (%arg1%\*.*) do call :JAVA "%%i"

谢谢,它工作得很好。请解释一下:)在执行java命令之前,批处理文件中括号内的命令中的变量%ERRORLEVEL%将替换为零。