Windowsのバッチファイルでは、条件分岐を行う際にif文を使用しますが、デフォルトでは大文字小文字を区別します。しかし、ユーザー入力や外部からのデータを扱う場合には、大文字小文字を無視したいシチュエーションが多々あります。
この記事では、if文の比較において、大文字小文字の違いを無視する方法を紹介します。
サンプルコード
ユーザからの入力がYesか、それ以外かを判定するバッチファイルです。
@echo off
rem ユーザーに入力を促す
echo YesかNoを選択してください(Yes/No)
set /p userResponse=
rem 入力を大文字小文字を無視して比較
if /I "%userResponse%"=="yes" (
echo Yesが選択されました
) else (
echo 入力された文字はYes以外です
)
pause
実行結果1:全部小文字…OK
YesかNoを選択してください(Yes/No)
yes
Yesが選択されました
続行するには何かキーを押してください . . .
実行結果2:全部大文字…OK
YesかNoを選択してください(Yes/No)
YES
Yesが選択されました
続行するには何かキーを押してください . . .
まとめ
この記事では、if文の比較において、大文字小文字の違いを無視する方法を紹介しました。if の /I オプションは便利なので、ぜひご活用ください。