アプリ版:「スタンプのみでお礼する」機能のリリースについて

MS-DOSバッチファイルで、
バッチファイル(親)からバッチファイル(子)を起動する処理を作成しています。

子バッチが以上終了した際のレスポンスコードを
親バッチで取得する方法がありましたら教えて下さい。

よろしくお願いいたします。

A 回答 (2件)

>子バッチのレスポンスコードを、親バッチのレスポンスコードとして反映する方法



親バッチのレスポンスコードは何が受け取るんでしょう?
子バッチのレスポンスコードを親バッチが受け取るということとして解釈します。

親バッチを、oya.bat バッチをko.batとしていくつかテストしてみましたが、
環境変数での受け渡し以外はできないという結論です。

ko.batでは、
・oya.bat から直接起動(ko.bat)でも、CALL(CALL ko.bat)でも 
 EXITを実行すると、COMMANDO.COMを終了します。
・COMMAND /c ko.bat として呼び出すとoya.batに戻りますが、EXITコードは無効になります。
・したがって、BATでは *.COM や *.EXE の終了コードは、errorlevel で検査できますが、
 *.batの終了コードは取得できないという結論です。

これを解決するためには、#1で書いた方法を拡張して、ko.batにて起動したプログラムの
errorlevel を判定して環境変数にセットして親に返すしかないと考えます。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。大変助かりました。

お礼日時:2002/09/30 22:52

子バッチで環境変数をセットすると、親バッチで参照できます。



 set STAT=1
 処理
 
 set STAT=0

親バッチで %STAT% を参照し 0 なら正常終了ということになります。

この回答への補足

回答ありがとうございます。
すみません。補足です。
さきほどの質問の表現に誤りがありました。

子バッチのレスポンスコードを、親バッチのレスポンスコード
として反映する方法がありましたら、お教えください。

補足日時:2002/09/30 18:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!