- ベストアンサー
2つ目の「pause」は無効?
DOSコマンドの「pause」について質問です。 -- test1.bat pause echo ああああ pause -- このようなバッチファイルを実行したときに 2つ目のpauseでは処理ストップしないようです。 # 3つ目を追加すると同様の動作をするようです。 # -- test2.bat # pause # echo ああああ # pause > NUL # pause # -- これってpauseコマンドのバグでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
おそらく、空白やEnterや英字でなく、カーソルキーとかファンクションキーなどを押したのでしょう。それらのキーではキーコードが2バイトなのでPAUSEコマンドを2つ分前に進めてしまいます。 バグかと言うと難しいですが、「限りなくバグに近い仕様」という所でしょうか。
その他の回答 (3)
- saru_1234
- ベストアンサー率33% (452/1341)
ANo.1 です。 Windows XP Home SP2 もいじれたので試してみましたが、 まったく同様に 2番目 Pause も効きました。 BATchファイル中に変な文字とか入ってませんかね... もしくは command.exe (か cmd.exe ? )が壊れてるかも?
お礼
saru_1234さん、ありがとうございます。 バッチ内に変な文字は入っていませんでした。 フリーのテキストエディタで作成していたので 一応、バイナリエディタも見てみましたが 改行(0D0A)が入っていました。
- koko_u
- ベストアンサー率12% (14/116)
ウチでも正常に動いたね。 WindowsXP Professional SP2
お礼
koko_uさん、ありがとうございます。 環境により正常動作するんですね。
- saru_1234
- ベストアンサー率33% (452/1341)
変ですね。Windows2000 Pro SP4 では cmd と command の両方とも、 2番目、3番目でも pause の箇所でポーズしましたけど... お使いのOSは何でしょうか?
お礼
saru_1234さん、回答ありがとうございます。 OSはWindowsXP Home SP2です。
お礼
notnotさん、ありがとうございます。 ビンゴでした。バッチ実行後、 「続行するには何かキーを押してください...」と 押されたとき、十字キーの下を押していました。 回答いただいた他の皆さんも含め、 大変お世話になりました。