2017-06-07 14 views
0

私は、パラメータとしてイメージファイルへのパスを表す文字列をとるjarファイルを作成しました。その後、パラメータとして、文字列(画像でいっぱいのフォルダへのパス)をとるバッチファイルを作成しました。その後、jarファイルをループしてイメージファイルを作成します。問題は、それが瓶を形成するエラーレベルを返さなければならないということです、まだそれが唯一の0これはバッチファイルで返しますjarから終了コードを取得する問題

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); 
    } 

このコンソールで実行したときの出力です。 enter image description here

答えて

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" 
+0

ありがとう、それは完璧に動作します。それを説明してください:) –

+0

バッチファイルのカッコで囲まれたコマンドの%ERRORLEVEL%変数は、javaコマンドを実行する前に0に置き換えられます。 – saka1029

関連する問題