※この記事は「2023年4月27日」に更新しました。
if(条件分岐)の使い方を紹介します。
- 基本情報技術者資格所有者(ソフト開発の国家資格)
- WordPress歴、10年以上
- パソコン販売歴、約5年
目次
ifコマンドの使い方
バッチファイルだけでなく、他のプログラミング言語でも使われます。
基本形
ifコマンドの基本形は、以下の通りです。
if 条件 成立したときのコマンド
条件が成立しなかったときの処理を分ける場合は、以下のようにします。
if 条件 成立したときのコマンド else 成立しなかったときのコマンド
文字列の比較演算を行う(数値)
おそらく、一番使いやすい形です。
if 文字列1 比較演算子 文字列2 成立したときのコマンド
比較演算子 | 意味 |
---|---|
equ | 等しい |
neq | 等しくない |
lss | より小さい |
leq | 以下 |
gtr | より大きい |
geq | 以上 |
文字列が数値の場合、数値の大小を比較してくれるようになっています。
文字列の一致または不一致を条件に判断する
文字列を比較して一致しているかしていないかを条件にする方法です。
if (not) "文字列1" == "文字列2" 成立したときのコマンド
文字列1 と 文字列2 を比較して等しければ、成立したときのコマンドが実行されます。
errorlevel値を条件に判断する
errorlevel(エラーレベル)という変数がコマンドプロンプトでは用意されています。
バッチファイルから何かのプログラムを実行したときに、終了時に渡される、正常に終了したかどうかを示す値です。
if (not) errorlevel エラーレベルの値 成立したときのコマンド
少しややこしいのですが、エラーレベルの値以上ならばという条件になります。
例えば、choiceコマンドなどで、選択したものによって処理を分ける場合、3択なら、1,2,3 という errorlevel値が想定できます。
このとき、以下の条件で if を使ったとします。
if errorlevel 1 成立したときのコマンド
特殊な使い方なので、choiceコマンドなどを使うときは、比較演算子の方がわかりやすいかもしれません。
ファイルの存在を条件に判断する
ファイルが存在するかどうかを条件にする方法です。
if (not) exist ファイル名 成立したときのコマンド
ファイルはカレントディレクトリを検索します。
not を付けると存在しなければという条件になります。
ifコマンドを使えば、複雑なバッチファイルも作成可能
ifコマンドを使う場合、単体コマンドとしてあまり使用せず、バッチファイルで使うことが多いです。
変数を条件判断に使うこともできます。
gotoコマンドを使えば、条件ジャンプを作ることもできます。
if 条件1 goto ラベル1 if 条件2 goto ラベル2 if 条件3 goto ラベル3
ただ、この書き方は少々古臭いので、マニアックになりすぎると非常に難解なコードが仕上がるかと思います。
他のプログラミング言語を使うと簡単だったということもあるので、本当にバッチファイル(コマンドプロンプト)でないとできないかどうかはジャッジしましょう。
ちなみに、バッチファイル作成について、興味のある方は、以下の記事をご参照下さい。
最後に
他のプログラミング言語を経験した方は、わかっていただけるかと思うのですが、少しむずかしかったのではないでしょうか?
これも他のプログラミング言語と比較するとなかなか難しいコマンドです。
今回の ifコマンドや forコマンドが使いこなせるようになれば、バッチファイルで本格的なものを簡単に作成することができます。