[登録されているタグ]

[記事公開日]2025/10/06

🔀 ifコマンドの使い方|条件分岐でバッチ処理を制御する方法

はじめに

Windowsバッチファイルにおいて、処理を条件によって分岐させるために欠かせないのが ifコマンド です。ユーザー入力や環境変数の値、コマンド実行結果に応じて処理を切り替えられるため、動的で柔軟なスクリプト作成が可能になります。

この記事では、ifコマンドの基本的な使い方から、数値・文字列比較、エラーレベル判定、存在確認、応用例まで詳しく解説します。


🛠 ifコマンドとは?

  • 役割:条件を満たすかどうかを判定し、処理を分岐させる

  • 用途:環境変数の値に応じた処理分岐、ユーザー入力に基づく条件分岐、エラー判定

  • 特徴:シンプルながら強力で、gotoやcallと組み合わせて高度な制御が可能


📌 基本的な使い方

文字列比較

set VAR=Hello
if "%VAR%"=="Hello" echo 文字列が一致しました
  • 変数 VAR が「Hello」と一致した場合のみ処理を実行

数値比較

set /A X=5
if %X% LSS 10 echo Xは10未満です
  • LSS は「より小さい」を意味する比較演算子

ファイルの存在確認

if exist data.txt echo ファイルが存在します
  • 指定ファイルが存在する場合に実行

否定条件

if not exist data.txt echo ファイルが見つかりません
  • 存在しない場合に実行


🔍 比較演算子一覧

  • EQU : 等しい (=)

  • NEQ : 等しくない (!=)

  • LSS : より小さい (<)

  • LEQ : 以下 (<=)

  • GTR : より大きい (>)

  • GEQ : 以上 (>=)


📚 応用的な使い方

エラーレベル判定

command.exe
if errorlevel 1 echo エラーが発生しました
  • 直前のコマンドの終了コードを確認して分岐

入力に基づいた分岐

set /P ANSWER=処理を続行しますか? (Y/N):
if /I "%ANSWER%"=="Y" (
    echo 続行します...
) else (
    echo 中止しました
)
  • /I オプションをつけると大文字・小文字を区別しない

複数条件の分岐

set /P MENU=1:バックアップ 2:復元 3:終了 >
if "%MENU%"=="1" goto backup
if "%MENU%"=="2" goto restore
goto end

:backup
echo バックアップ開始

goto end

:restore
echo 復元開始

goto end

:end
echo 完了しました
  • 簡易メニューを実装するサンプル


📚 活用シーン

バッチファイルでのエラー処理

  • 利用例:処理が失敗した場合にログを残す

  • 効果:運用上のトラブルシューティングが容易に

ユーザー入力を利用した選択

  • 利用例:選択肢を与えて処理を切り替える

  • 効果:対話型のスクリプトが可能

環境依存処理

  • 利用例:OSのバージョンや特定フォルダの存在によって分岐

  • 効果:移植性の高いスクリプトを作成できる


⚠️ 注意点

  • 文字列比較では必ず ダブルクォートで囲む のが安全

  • if errorlevel は「指定値以上」で判定される点に注意(例:if errorlevel 1 は 1以上を意味する)

  • 複雑な条件をifだけで書くと可読性が下がるため、gotoやcallと組み合わせて整理するのが望ましい

  • 括弧を使った複数行条件はインデントをそろえると読みやすい


📊 まとめ表

コマンド 用途 活用例
if “%VAR%”==”Hello” 文字列比較 値が一致した場合の処理
if %X% LSS 10 数値比較 10未満か判定
if exist file.txt 存在確認 ファイルの有無
if errorlevel 1 エラーレベル判定 異常終了の確認
if /I “%ANS%”==”Y” 大文字小文字無視 入力確認

関連記事


さいごに

「if」コマンドは、バッチ処理における条件分岐の要となる重要な構文です。文字列や数値、ファイル存在確認、エラーレベル判定などを組み合わせることで、柔軟で実用的なスクリプトが構築できます。

正しく活用することで、単純な処理を一気に高度なロジックへと進化させられます。バッチファイルを作るなら、ぜひマスターしておきたいコマンドです。

すべてを開く | すべてを閉じる

ページ上部へ戻る