if [条件] [コマンド]
if [条件] [コマンド1] else [コマンド2]
if [条件] (
[コマンド1]
[コマンド2]
...........
)
if [条件] (
[コマンドA1]
[コマンドA2]
............
) else (
[コマンドB1]
[コマンドB2]
............
)
if 文の後ろのコマンドは条件部分が真のときに実行され、 else の後ろは条件部分が偽のときに実行されます。 実行するコマンドが複数ある場合は 3. または 4. の形式を使いますが、 3., 4. の形式はコマンドが 1 つしかない場合でも使えます。
if 文の条件部分には、以下の形式が使えます (「」や [ ] は不要です)。
[値1]==[値2]
」 (等しければ真)
[値1] [比較演算子] [値2]
」 (文字列、数値の比較)
exist [ファイル名]
」 (ファイルやディレクトリが存在すれば真)
errorlevel [番号]
」
(直前のコマンドの終了コードが番号以上なら真)
defined [変数名]
」 (その環境変数が定義されていれば真)
この条件の形式の 1 番目と 2 番目の形式の値の部分には文字列が使えますが、 文字列の代わりに %[変数名]% を置くこともできますし、 それを文字列中の部分文字列とすることもできます。 また、2 番目の形式では、両辺の値がどちらも整数値を表す文字列であれば 整数値として比較が行われます。 比較演算子はいずれも 3 文字の文字列で、
値が文字列ならば辞書式順序で比較され、 デフォルトではアルファベットの大文字と小文字は区別されますが13、 2 番目の比較演算子を用いた形式では if と条件の間に /i を置くと、 大文字と小文字を区別せずに比較します。
竹野茂治@新潟工科大学