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

いつも大変御世話になっております。

WindowsVISTA環境で以下バッチ【ABC.bat】が稼動します。

"ABC.bat"-------------------------------------------------
@ECHO ON

set bat_name="ABC.bat"

call DEF.bat

echo %bat_name% は戻り値 %ERRORLEVEL% を受け取りました。
"ABC.bat"-------------------------------------------------

上記バッチの構文では以下バッチDEF.batを起動させ、ERRORLEVELを取得させます。

"DEF.bat"-------------------------------------------------
@ECHO ON

set bat_name="DEF.bat"

exit /b 10
"DEF.bat"-------------------------------------------------

実行結果は予想していたものと違っていました。
予想していた実行結果 : "ABC.bat" は戻り値 10 を受け取りました。
実際の実行結果     : "DEF.bat" は戻り値 10 を受け取りました。】

%ERRORLEVEL%のみを取得したかったのですが
DEF.bat の set bat_name="DEF.bat" までも取得してしまいました。

bat_name はどうしても "ABC.bat"とCALLする側の変数を使用したいのですが
制御は難しいでしょうか?

echo %bat_name% は戻り値 %ERRORLEVEL% を受け取りました。 の直前に
再度 set bat_name="ABC.bat" と記述しなければダメでしょうか?

尚、都合上、ECHO文と変数名は変えたくありません。

もしご存知の方がいらっしゃるようでしたら、お手数ですが
実現可能かどうかをご回答願いますでしょうか?

以上、何卒宜しくお願い致します。

A 回答 (1件)

以下で大丈夫かと。


"DEF.bat"-------------------------------------------------
@ECHO ON

setlocal

set bat_name="DEF.bat"

endlocal

exit /b 10
"DEF.bat"-------------------------------------------------
    • good
    • 0

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