サイトアイコン スグブログ

【bat基礎】バッチでPAUSEを使用して一時停止する!waitはありません

ジャンプ

バッチファイルを使用していて、途中で止めたいところで一時停止したい場合ないでしょうか?

そんな時バッチファイルではPAUSEを使用します。

PAUSEの実用例を現役エンジニアの筆者と共に見ていきましょう!

バッチファイルでpauseを使用して一時停止する

デフォルトのpauseの処理

バッチファイルで一時停止したい場合はpauseを記入するだけです。

pauseにオプションはありません。

batでのpauseの実用例を以下にまとめました。

@echo off

rem デフォルトのpause
echo 普通のpause
pause

pauseが入っている箇所で一時停止して以下のようなメッセージが表示されます。

続行するには何かキーを押してください . . .

pauseで一時停止する時のメッセージを自分で決めたい場合

メッセージを自分で決めたい場合は次のコードのようにします。

@echo off

rem 自分でメッセージを決める
echo 自分の言葉で進みますか?
pause >null

実行してみると以下のようになりました。

自分の言葉で進みますか?

echoで決めた言葉が表示され、デフォルトのメッセージは表示されません

batでpauseとTimeoutとの違い

バッチファイルで一時停止するのに「Timeout」がありますが、どちらを使えば良いでしょうか?

pauseTimeoutとの違いはTimeoutにはオプションがあり、待ち時間を指定できるのでそこが違いです。

単純に一時停止したい場合は「pause」を、時間指定したい場合は「timeout」を使用します。

batのpauseが原因で動かないエラーの場合

バッチファイルを動かしても反応しない、と言った事はないでしょうか?

今回のバッチファイルでひとつも「pause」がない場合は、プロンプト画面が一瞬で消えるので動かないように感じますが動いています。

解決方法はバッチファイルの中に1つ以上「pause」を入れて下さい。

またbatファイルの最後にも「pause」を入れないと、最後まで結果を見ることはできません。処理が最後まで行き、すぐ消えるからです。

batファイルの全ての処理を確認したい場合は最後の行にも「pause」を入れましょう。

その他のbatファイルが動かない時の対処法などは以下にまとめています。

batでpauseの意外な使用例

バッチファイルで「pause」の使い方の一つに、お試し中のファイルで実行されないように1行目に「pause」を入れる方法があります。

間違えてバッチファイル実行してしまい、不具合など起きてしまったら大変ですから。

バッチファイルでpauseを使用して一時停止するのまとめ

バッチファイルでpauseを使用する

バッチファイルで一時停止したい場合はpauseを記入するだけです。

pauseにオプションはありません。

バッチのtimeoutとの違い

pauseとTimeoutとの違いはTimeoutにはオプションがあり、待ち時間を指定できるのでそこが違いです。

単純に一時停止したい場合は「pause」を、時間指定したい場合は「timeout」を使用します。

モバイルバージョンを終了