バッチファイルで
・IF文で条件分岐をする方法
を記載します!
バッチファイルでは
・IF~ELSE文が使用可能
です!
またバッチファイルでは
・IF~ ELSE IF ~ELSE文も使用可能
です!
バッチファイルのIF文の構文
バッチファイルのIF文の構文
if 条件1 (
処理A
) else if 条件2 (
処理B
) else (
処理C
)
「else if」は複数記述できます。
各所に「半角スペース」が必要です。「半角スペース」が無いと動きません。
※これは「あるあるなハマりポイント」です。気を付けましょう。
※「半角スペース」が無いとうんともすんとも言いません。エラーメッセージが表示されたりもしません。
なお変数へ値を設定する際は「半角スペース」は不要です。「半角スペース」があると動きません。
※これも「あるあるなハマりポイント」です。気を付けましょう。
※「半角スペース」があるとうんともすんとも言いません。エラーメッセージが表示されたりもしません。
・IF文は各所に「半角スペース」が必要
・変数へ値を設定する際は「半角スペース」は不要
という不整合な感じは、バッチファイルのイマイチな点だと思います。
バッチファイルのIF文の使用例
ここでは例として
・変数「str」の値により条件分岐
します。
@echo off
set str=hogehoge
rem 変数「str」の値により条件分岐
if %str% == hogehoge (
echo hogehogeです。
) else if %str% == piyopiyo (
echo piyopiyoです。
) else (
echo それ以外です。
)
echo.
pause
exit
上記を実行すると、IF文で条件分岐できたことを確認できます。
IFの中では「半角のカッコ」は使用不可です(「(」と「)」は使用不可です)。
※これも「あるあるなハマりポイント」です。気を付けましょう。
例えば以下は11行目に「半角のカッコ」を使用しているため、バッチファイルを実行しても動きません。
※うんともすんとも言いません。エラーメッセージが表示されたりもしません。
@echo off
set str=hogehoge
rem 変数「str」の値により条件分岐
if %str% == hogehoge (
echo hogehogeです。
) else if %str% == piyopiyo (
echo piyopiyoです。
) else (
echo (それ以外)です。
)
echo.
pause
exit
「カッコ」を使用したい場合は、「全角のカッコ」または「【】」等を使用しましょう。
参考
IF文の詳細は、公式サイトをご確認ください。