Help us understand the problem. What is going on with this article?

バッチファイルでwaitを入れる

More than 1 year has passed since last update.

コメントで指摘いただいた方法がベストだと思うのでコレを推奨。

10秒Waitを入れる
timeout /t 10 > nul

ただし、プロンプト上でキー入力があると待ちがキャンセルされます。

普通に実行するとこうなる
C:\>timeout /t 10
 10 秒待っています。続行するには何かキーを押してください ...

キー入力待ちでキャンセルされたくない場合は/nobreakオプションを指定します。

キャンセルされない
timeout /t 10 /nobreak >nul

別の方法

最初に記載していた方法。
コメントで教えてもらった上記の方法で事足りると思うので、こんな方法もありますという程度です…。

10秒Waitを入れる
waitfor dummy /t 10>nul 2>&1 & verify>nul
  • waitforは指定した名前のシグナル(例ではdummy)が送られるまで/tに続いて指定された数値の秒数だけ待つ。1
  • シグナルが送られない場合、エラーとして終了する。
  • waitforコマンドのエラー終了時にはエラー: 'dummy' 待ちがタイムアウトしました。とメッセージが標準エラー出力に送信される。バッチで利用する場合はエラー出力を抑制したいので、>nul 2>&1にリダイレクト
  • また、エラーの副作用でerrorlevel1になるため、バッチ内で他の処理へ影響を与えないように& verify>nulverifyコマンドの実行を連結して、errorlevel0で上書きする。(古典的なやり方かも)

さらに他の方法

pingを使う方法が紹介されている場合もある。

pingを利用する方法
ping -n 11 localhost>nul

ただ、この方法はerrorlevel1になるような副作用はないものの、pingの送信間隔が必ずしも1秒ではない(実際にはもっと短い)ことと、実際に待ちたい間隔+1を指定する必要がある2ため、長い時間を指定するほど誤差が生まれやすい。


  1. シグナルを送る場合、/siオプションを使ってwaitfor /si dummyのように指定する。(別のコマンドプロンプトを開いて実行) 

  2. ping -n 1 localhostで試せばわかるが、1回目の送信が即時終了するため。 

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away