【バッチファイル】「y/n」で回答できる質問をして、回答によって処理を分岐させる

バッチファイルで
 ・「y/n」で回答できる質問をして
 ・回答によって処理を分岐させる
ことができます!
※「y」は「yes」を「n」は「no」を示します。

PR

コード

ここでは例として
 ・質問メッセージ「処理を実行しますか? (Y/N)」を表示して
 ・回答が「y or Y」の場合、処理を実施しメッセージ「完了しました!」を表示
 ・回答が「n or N」の場合、メッセージ「処理を中止します!」を表示し処理を中断(=終了)
します。
※回答が上記のどちらでもない場合、質問メッセージを再表示します。

@echo off

:question
set /p anser="処理を実行しますか? (Y/N)"

if /i %anser%==y (
	
	rem 実行したい処理
	rem 実行したい処理
	rem 実行したい処理
	
	echo 完了しました!
	echo.
) else if /i %anser%==n (
	echo 処理を中止します!
	echo.
) else (
	echo 入力が不正です。^(Y/N^)で入力をお願いします。
	echo.
	goto question
)

pause
exit

「質問メッセージ」を表示します(4行目)。
※上記では「処理を実行しますか? (Y/N)」を表示しています。

「y』or Y」が入力された場合の「実行したい処理」を記述します(8~13行目)。
※if文のパラメータ「/i」により、大文字と小文字を区別しないようにしています。

「n or N」が入力された場合の「出力メッセージ」を記述します(14~16行目)。
※if文のパラメータ「/i」により、大文字と小文字を区別しないようにしています。

上記以外が入力された場合、「質問メッセージ」を再表示します(17~20行目)。
再表示するために、上記ではgoto文により3行目のラベル「question」にジャンプしています。

PR

実行結果

実行すると「質問メッセージが」表示されます。

質問メッセージ
質問メッセージ


「y or Y」を入力すると、「完了しました!」が表示されました。

「y or Y」を入力した場合
「y or Y」を入力した場合


「n or N」を入力すると、「処理を中止します!」が表示されました。

「n or N」を入力した場合
「n or N」を入力した場合


上記以外を入力すると、「質問メッセージ」が再表示されました。

上記以外を入力した場合
上記以外を入力した場合
PR

参考

上記で使用した以下の詳細は、公式サイトをご確認ください。

●if文


●goto文