†DOSとバッチとスクリプト†

IF文(BATCH)

作成開始日 2023.05.13
最終更新日 2023.05.13

基本構文
IF [条件文] [条件が成立したときのコマンド]

用例1:文字列比較

IF "%st1%"=="%st2%" ECHO %st1%
用例2:条件の否定
IF NOT "%st1%"=="%st2%" ECHO %st1%
用例3:複数コマンドの実行
IF NOT "%st1%"=="%st2%" (
  ECHO %st1%
  ECHO %st2%
)
IF NOT "%st1%"=="%st2%" ( ECHO %st1% & ECHO %st2% )
  • 複数コマンドを実行するときは()でブロック化する
  • 可読性を高めるために、単一コマンドでも()で括ることを推奨
用例4:数値比較
IF %x% EQU %y% (ECHO %x%)
  • 比較演算子には以下の6種類がある
  • 否定(同じでない)は「NOT」を付けるのではなく「NEQ」演算子を使う
  • この構文は数値だけでなく、文字列でも使用できる
  • コマンドを()で括ったのは可読性を高めるためで、必須ではない
EQU/NEQ:等しい/等しくない
GEQ/LEQ:以上/以下
GTR/LSS:超/未満

用例5:文字列比較(2)

IF /i %st1% EQU %st2% (ECHO %st1%)
  • 比較演算子は文字列に対しても使用できる
  • 文字列の大小に関しては文字コード順(辞書順)での比較
  • 「/i」を付けると大文字小文字を同一視する


【DOSとバッチとスクリプト目次】 【ホーム】