- PR -

終了コードがERRORLEVELに設定されない

1
投稿者投稿内容
tomtan
会議室デビュー日: 2004/03/22
投稿数: 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>


どなたか、回答の方よろしくお願いします。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2004-03-22 13:18
command.com には、リターンコードを%ERRORLEVEL%で参照する機能はなかったような・・・

IF ERRORLEVEL 1 GOTO ラベル
の形式で条件分岐させるだけなら、Windows9x でも動作するはず。

(手元にすぐ試せる環境がないので未確認ですが)
1

スキルアップ/キャリアアップ(JOB@IT)