1/99スタックエンジニアの適当記録

適当なことを書きます。関西で転職したいです。

2度目のpauseは止まらない

ジョジョっぽいタイトルになってしまいましたが、batのpauseについてです。
batでpauseコマンドを使うと、「続行するには何かキーを押してください . . .」というメッセージが表示されて、一時的にbatが停止するのは周知の事実かと思いますが、
pauseコマンドを2連続で利用すると、仕様上2つ目のpauseが停止しないことがあるのはご存知でしょうか。

テスト用にこんなbatを書いてみました。
test.bat

@echo OFF
pause
echo 1
pause
echo 2
pause
echo 3
pause
echo 4
pause
echo 5
pause

実行して、「続行するには何かキーを押してください . . .」が表示されたら「Enter」キーを押下していきます。
6回止まりますね。

次に同じbatを実行して、「続行するには何かキーを押してください . . .」が表示されたら「→」キーを押下していきます。
なんと!3回しか止まりませんでした。
不思議です。
調べてみると、賢者が回答していました。
oshiete.goo.ne.jp

おそらく、空白やEnterや英字でなく、カーソルキーとかファンクションキーなどを押したのでしょう。
それらのキーではキーコードが2バイトなのでPAUSEコマンドを2つ分前に進めてしまいます。

「続行するには何かキーを押してください . . .」というmicrosoftさんの表示でしたが、
2バイトのキーコードを押したら駄目なのでした。

終わり。