2

バッチ スクリプトを使用して Java コードを実行する必要があります。ここで、Java コードは .bat ファイルから生成された変数値を取得し、Java コードを実行してから、別の変数値を .bat に戻します。

たとえば、exec.batファイルは値「456」を取得します。この「456」はJavaファイルに送信する必要があり、実行後、別の値「789」を取得します。そして、この「789」を元に戻す必要がありますexe.bat .

Javaとバッチファイルの両方に記述するコードと構文を教えてください。

前もって感謝します

4

1 に答える 1

7

これを行う1つの方法は次のとおりです。

Java コードの場合:

プログラムの最後にこの行を入れます

System.exit(789);

789バッチ ファイルに返す値は次のとおりです。

バッチ ファイルで:

@echo off
java Test %1
set exitcode=%ERRORLEVEL%
echo %exitcode%

ここ

java Test %1%1 は、コマンド プロンプトからバッチ ファイルに渡される最初のパラメーターにマップされます (同様に、%2 などを使用することもできます...この記事を確認してください)。

ERRORLEVELJava から返された値を格納するために使用される標準のバッチ変数です。

バッチ ファイル名が であると仮定すると、Test.batコマンド プロンプト バッチから次のように実行します。

Test 456

編集:2つの数字を追加する例

Example.java

public class Example extends TestBase<String>
{
     public static void  main(String[] arg){
         int result = Integer.parseInt(arg[0].trim()) ;+Integer.parseInt(arg[1].trim())
          System.exit(result);
     }

}

このファイルをコンパイルして、クラス ファイル Example.class を生成します。

バッチファイル :

例.bat

@echo off
java Example %1 %2
set exitcode=%ERRORLEVEL%
echo %exitcode%

このバッチファイルと Example.class をフォルダーに入れます。そのフォルダからコマンドプロンプトを開き、次のように実行します

Example 111 222

これにより、これら2つの数値の加算が出力されます

于 2012-08-30T07:04:17.910 に答える