ifはbatファイルで条件付きの処理を行うコマンドです。
if (not) 文字列A==文字列B コマンドを記述
if not A == B ( echo 真
) else (
echo 偽
)
比較演算子
equ 等しい
neq 等しくない
gtr より大きい
geq 以上
leq 以下
lss より小さい
/i は大文字と小文字を区別しないオプションです。
erroelevel
指定した番号以上の場合に実行されます。
解りやすく言うと、errorlevelで実行したコマンドが正常に終了すれば0ですが、そうでなければ1以上で条件を分岐します。
if errorlevel エラー番号 コマンドを記述
環境変数の%errorlevel%に勝手に代入されます。
exist
指定したファイルが存在する場合に実行されます
if (not) exist コマンドを記述
defind
指定した環境変数が指定されている場合に実行されます
つまり環境変数が定義されていないか?の確認です
if defined 変数名 コマンドを記述
==とequの違い
if 8 == 010 ( echo yes
) else (
echo no
)
上記の実行結果はnoと出ます。文字列として比較しています
if 8 equ 010 ( echo yes
) else (
echo no
)
上記の実行結果はyesと出ます。これは、0で始まる文字列は、それを数字として取り扱うので8進数扱いになります。
両方とも数字だけの文字列なので、数字として大小が比較されます。
8進数の10は10進数んもでの8なので、8と010は同じだと判断されます