アフィリエイト広告を利用しています。

if(条件分岐)の使い方【バッチファイル】

※この記事は「2025年10月1日」に更新しました。

if(条件分岐)の使い方を解説します。

バッチファイルでよく使われるコマンドです。

タカフミ
記事を書いている管理人の経歴は、以下の通りです。
  • 基本情報技術者資格所有者(ソフト開発の国家資格)
  • WordPress歴、10年以上
  • Withマーケ会員(2022年10月入会)

ifコマンドの使い方

ifコマンドの使い方
管理人
ifコマンドは、条件分岐を行うためのものです。

バッチファイルだけでなく、他のプログラミング言語でも使われます。

重要な制御構造の一つです。




基本形

ifコマンドの基本形は、以下の通りです。

if 条件 成立したときのコマンド

条件が成立しなかったときの処理を分ける場合は、以下のようにします。

if 条件 成立したときのコマンド else 成立しなかったときのコマンド

文字列の比較演算を行う(数値)

おそらく、一番使いやすい形です。

if 文字列1 比較演算子 文字列2 成立したときのコマンド
管理人
比較演算子には、以下のようなものがあります。
比較演算子 意味
equ 等しい
neq 等しくない
lss より小さい
leq 以下
gtr より大きい
geq 以上

文字列が数値の場合、数値の大小を比較してくれるようになっています。

文字列の一致または不一致を条件に判断する

文字列を比較して一致しているかしていないかを条件にする方法です。

if (not) "文字列1" == "文字列2" 成立したときのコマンド

文字列1 と 文字列2 を比較して等しければ、成立したときのコマンドが実行されます。

管理人
not を付けると等しくなければという条件になります。

errorlevel値を条件に判断する

errorlevel(エラーレベル)という変数がコマンドプロンプトでは用意されています。

バッチファイルから何かのプログラムを実行したときに、終了時に渡される、正常に終了したかどうかを示す値です。

if (not) errorlevel エラーレベルの値 成立したときのコマンド

少しややこしいのですが、エラーレベルの値以上ならばという条件になります。

例えば、choiceコマンドなどで、選択したものによって処理を分ける場合。

3択なら、1,2,3 という errorlevel値が想定できます。

このとき、以下の条件で if を使ったとします。

if errorlevel 1 成立したときのコマンド
管理人
これだと、1,2,3 全てで成立することになります。

特殊な使い方なので。

choiceコマンドなどを使うときは、比較演算子の方がわかりやすいかもしれません。

ファイルの存在を条件に判断する

ファイルが存在するかどうかを条件にする方法です。

if (not) exist ファイル名 成立したときのコマンド

ファイルはカレントディレクトリを検索します。

not を付けると存在しなければという条件になります。

ifコマンドを使えば、複雑なバッチファイルも作成可能

ifコマンドは、単体コマンドとしてあまり使用しません。

管理人
バッチファイルで使うことが多いです。

変数を条件判断に使うこともできます。

forコマンドや gotoコマンドなどと組み合わせれば、複雑な処理も可能です。

gotoコマンドを使えば、条件ジャンプを作ることもできます。

if 条件1 goto ラベル1
if 条件2 goto ラベル2
if 条件3 goto ラベル3

ただ、この書き方は少々古臭いので。

マニアックになりすぎると、非常に難解なコードが仕上がるかと思います。

他のプログラミング言語を使うと簡単だったということもあるので。

本当にバッチファイルでないとできないかどうかは、ジャッジしましょう。

バッチファイル作成方法 は、以下の記事で詳しく解説しています。

バッチファイル入門

最後に

他のプログラミング言語を経験した方は、わかっていただけるかと思うのですが、少しむずかしかったのではないでしょうか?

管理人
バッチファイルだと繰り返し処理を行う、forコマンドというものもあります。

これも他のプログラミング言語と比較するとなかなか難しいコマンドです。

今回の ifコマンドや forコマンドが使いこなせるようになれば、バッチファイルで本格的なものを簡単に作成することができます。