Windows - バッチ - 条件文

クラウディア 
1. 基本形
2. 複数の処理を実行
3. 複数条件

1. 基本形


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

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

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
 ってな感じです。

3. 複数条件

 AND や OR で複数の条件を制御することは文法的にできません。  文法の虚をつく感じですが。  参考サイト(参考サイトを掲載していましたが、リンク切れになりました)に書かれていた書き方を使用すれば、「AND」の制御を行うことができます。  すなわち

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