2. Windows - バッチ - 条件文

 
2.1 基本形
2.2 複数の処理を実行
2.3 複数条件

2.1 基本形


IF 条件文 真の処理 ELSE 偽の処理
 または

IF 条件文 (真の処理) ELSE (偽の処理)
 になります。  () で囲む場合、外側は必ず、1文字以上の空白文字が必要になります。  いずれの場合も、偽の処理が不要であれば、ELSE 以降を省略することができます。

2.2 複数の処理を実行

 条件文に対して複数の処理を実行するときは

IF 条件文 (
	真の処理1
	真の処理2

) ELSE (
	偽の処理1
	偽の処理2
)
 と書きます。  IF 文で括弧を使うとき 「(」 を改行後に記述するとエラーになったり、変数の反映が括弧の外と内で変わったりするので GOTO を使った方が後でわかりやすい文になります。

IF 条件文 (GOTO LABEL1) ELSE (GOTO LABEL2)

REM	真の処理
:LABEL1
	真の処理1
	真の処理2
GOTO LABEL3

REM	偽の処理
:LABEL2
	偽の処理1
	偽の処理2

REM	条件の終わり
:LABEL3
 ってな感じです。

2.3 複数条件

 ANDOR で複数の条件を制御することは文法的にできません。  文法の虚をつく感じですが
Windowsバッチファイル制御構文
 に書かれている書き方を使用すれば、AND の制御を行うことができます。  すなわち

IF 条件1  IF 条件2 (
    条件1と2がともに真のときの処理
) ELSE (
    上記以外
)
 ちょっとトリッキーな感じはしますがよく考えられています。  条件文をネストさせる方が分かりやすいかもしれません。