4.6 一時停止

バッチファイルの処理を一時停止するには pause コマンドか、 「set /p」が使えます。

pause コマンドは 「続行するには何かキーを押してください」のようなメッセージを表示し、 ユーザが何かキー入力を行うまでバッチ処理を中断します。 そのメッセージを変更したければ、 4.4 節で紹介した「> nul」を用いて


echo [中断時に表示させる任意のメッセージ]
pause > nul
のようにすればいいでしょう。 一方、「set /p」はキー入力を受け取ってそれを環境変数に代入する命令で、

set /p [変数名]=[表示メッセージ]
のように使用します。 この表示メッセージの部分が表示されて入力待ちとなり、 そこでキー入力したものが指定した環境変数に代入されます。 これは、バッチファイルの処理の流れを対話的に分岐するのに利用できます。 例えば、

:check1
set /p isy=これでいいですか? (Y/N)
if "%isy%"=="y" goto yes1
if "%isy%"=="Y" goto yes1
if "%isy%"=="n" goto no1
if "%isy%"=="N" goto no1
goto check1
:yes1
.....
:no1
.....
といった具合です。

竹野茂治@新潟工科大学
2014年5月2日