1.前提・実現したいこと
変数に1が入っている場合、処理を異常終了する処理を作りたい。
事前にset aaa = 1を指定しています。
IF %aaa% == 1 ( ECHO バッチ処理を異常終了します。 exit /b 1 ) else ( ECHO バッチ処理を正常終了します。 exit /b 0 )
2.発生している問題・エラーメッセージ
C:\Users\XXX>echo ECHO is on. ( was unexpected at this time. C:\Users\XXX>IF == 1 (
ifに%%で囲った変数があると処理がうまく動きません。
3.自分で調べたことや試したこと
遅延環境変数を設定して、!aaa!などを試しましたが、以下のように1が代入されておらず、!aaa!は1ではないので正常終了という状態になっています。
C:\Users\XXX>echo ECHO is on. C:\Users\XXX>IF !aaa! == 1 ( ECHO バッチ処理を異常終了します。 exit /b 1 ) else ( ECHO バッチ処理を正常終了します。 exit /b 0 ) バッチ処理を正常終了します。
バッチ自体は1 == 1の場合、異常終了となるので間違ってはいないかと思っておりますが、
どの箇所が問題なのかご教示ください。

回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。