目次
その他の関連しそうな記事
バッチファイルで数値を比較する
バッチファイルで数値を比較したい場合は、比較演算子を使用します。比較演算子とは、二つの数値を比較して「真」か「偽」かを返すものです。バッチファイルで使用できる比較演算子は以下の6つがあります。
比較演算子 | 判定 |
---|---|
[数値1] equ [数値2] | [数値1]と[数値2]が等しい |
[数値1] neq [数値2] | [数値1]と[数値2]が等しくない |
[数値1] lss [数値2] | [数値1]が[数値2]より小さい |
[数値1] leq [数値2] | [数値1]が[数値2]以下 |
[数値1] gtr [数値2] | [数値1]が[数値2]より大きい |
[数値1] geq [数値2] | [数値1]が[数値2]以上 |
比較演算子は「if」コマンドで使用されます。例えば、変数「a」と変数「b」を比較して、等しければ「等しい。」と出力し、等しくなければ「等しくない」と出力するバッチファイル(sample_operator.bat)は以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 |
@echo off rem 変数「a」と「b」に値を代入 set a=1 set b=2 rem 比較演算子「equ」を用いて値が等しいかを判定 if %a% equ %b% ( echo aとbは等しい。 ) else ( echo aとbは等しくない。 ) |
「if」コマンドに使い方について詳しく知りたい方は「if(条件分岐) -コマンド別解説-」をご覧下さい。以下、実行結果です。
この場合は「a」と「b」には異なる値が代入されているので、コマンドプロンプトには「aとbは等しくない。」と出力されました。
他の比較演算子についてもチェックしてみましょう。以下にバッチファイル(check_various_operator.bat)を示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@echo off rem 変数「a」と「b」に値を代入 set a=1 set b=2 rem 様々な比較演算子で判定 if %a% equ %b% echo %a%と%b%は等しい。 if %a% neq %b% echo %a%と%b%は等しくない。 if %a% lss %b% echo %a%は%b%より小さい。 if %a% leq %b% echo %a%は%b%以下。 if %a% gtr %b% echo %a%は%b%より大きい。 if %a% geq %b% echo %a%と%b%以上。 |
以下、実行結果です。
出力された文はすべて成り立っており、期待通りの動作をしていることが確認できました。
数値ではなく文字列を比較したい場合は別の演算子を使用します。詳しく知りたい方は「バッチファイルで文字列を比較する -やりたいことから検索-」をご覧下さい。