Windowsのバッチファイルでif文などを用いて数値の比較を行う方法を紹介します。
多くのプログラム言語では比較演算子は「==」や「<」「>」等が用いられますが、バッチファイルでは少々異なるため注意が必要です。
まずは使える比較演算子を紹介します。以下の通り、他のプログラム言語と同じような比較演算子がバッチファイルにも用意されています。
演算子 | 内容 |
equ | 等しい(=) |
neq | 等しくない(≠) |
geq | 以上(≧) |
leq | 以下(≦) |
gtr | より大きい(>) |
lss | より小さい(<) |
if文の条件式として、比較演算子を用いることができます。
例えば以下のようなバッチファイルを作成することで、1個目に入力した数字と2個目に入力した数字が等しいかどうかを判定することができます。
@echo off
set /p num1="1つ目の数字を入力してください"
set /p num2="2つ目の数字を入力してください"
if %num1% equ %num2% (
echo 等しいです
) else (
echo 等しくないです
)
pause
以下のように、ユーザーが入力した二つの数字について、判定結果が出力されます。
同様に、以下は1個目に入力した数字が、2個目に入力した数字以上かどうかを判定するバッチファイルです。
@echo off
set /p num1="1つ目の数字を入力してください"
set /p num2="2つ目の数字を入力してください"
if %num1% geq %num2% (
echo 1つ目の数字は、2つ目の数字以上です
) else (
echo 1つ目の数字は、2つ目の数字より小さいです
)
pause
このように、バッチファイル内で数値の比較を行うことができます。