- - PR -
終了コードがERRORLEVELに設定されない
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-03-22 12:37
WIndows98を使用しています。
MS−DOSプロンプトで、バッチファィルを使用した時の質問です。 バッチファィルでJAVAプログラムを呼び出し、JAVAプログラムの 処理結果により、処理を変えようとしています。 JAVAプログラムでは、System.exit()を使用して処理結果を返します。 バッチファィルでは、ERRORLEVELを調べ、処理を変えます。 しかし、ERRORLEVELに値が設定されません。 WIndows2000では、ERRORLEVELに値が設定されました。 実行はWIndows98のPCに指定されていて、WIndows2000は 使用出来ません。 どうすればWIndows98で処理結果をERRORLEVELへ設定出来るのでしょうか。 よろしくお願いします。 テスト用にプログラムとバッチファィルを次のように作成してテストしています。 JAVAプログラム //==================== Win98 テスト プログラム==================== class Test98{ //**********メイン********** public static void main(String args[]){ //復帰コード1を返す System.exit(1); } } バッチファィル REM ************ Win98 Test ************ java Test98 ECHO %ERRORLEVEL% 回目 実行結果は、 WIndows98では、 D:\javaTest>test98 D:\javaTest>REM ************ Win98 Test ************ D:\javaTest> D:\javaTest>java Test98 D:\javaTest>ECHO 回目 回目 D:\javaTest> WIndows2000では、 D:\javaTest>test98 D:\javaTest>REM ************ Win98 Test ************ D:\javaTest> D:\javaTest>java Test98 D:\javaTest>ECHO 1 回目 1 回目 D:\javaTest> どなたか、回答の方よろしくお願いします。 |
|
投稿日時: 2004-03-22 13:18
command.com には、リターンコードを%ERRORLEVEL%で参照する機能はなかったような・・・
IF ERRORLEVEL 1 GOTO ラベル の形式で条件分岐させるだけなら、Windows9x でも動作するはず。 (手元にすぐ試せる環境がないので未確認ですが) |
1
