![](https://batch-file.net/wp-content/themes/cocoon-master/images/b-woman.png)
バッチファイルで
・IF文で条件分岐をする方法
を記載します!
![](https://batch-file.net/wp-content/themes/cocoon-master/images/b-woman.png)
バッチファイルでは
・IF~ELSE文が使用可能
です!
![](https://batch-file.net/wp-content/themes/cocoon-master/images/b-woman.png)
またバッチファイルでは
・IF~ ELSE IF ~ELSE文も使用可能
です!
バッチファイルのIF文の構文
バッチファイルのIF文の構文
if 条件1 (
処理A
) else if 条件2 (
処理B
) else (
処理C
)
「else if」は複数記述できます。
各所に「半角スペース」が必要です。「半角スペース」が無いと動きません。
※これは「あるあるなハマりポイント」です。気を付けましょう。
※「半角スペース」が無いとうんともすんとも言いません。エラーメッセージが表示されたりもしません。
![各所に「半角スペース」が必要](https://batch-file.net/wp-content/uploads/2022/06/bat_if_001.png)
なお変数へ値を設定する際は「半角スペース」は不要です。「半角スペース」があると動きません。
※これも「あるあるなハマりポイント」です。気を付けましょう。
※「半角スペース」があるとうんともすんとも言いません。エラーメッセージが表示されたりもしません。
![「半角スペース」は不要](https://batch-file.net/wp-content/uploads/2022/06/bat_if_003.png)
・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文で条件分岐できたことを確認できます。
![実行結果](https://batch-file.net/wp-content/uploads/2022/06/bat_if_002.png)
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文の詳細は、公式サイトをご確認ください。