Delay execution for a few seconds or minutes, for use within a batch file.
Syntax TIMEOUT -T delay [/nobreak] Key delay Delay in seconds (between -1 and 100000) to wait before continuing. The value -1 causes the computer to wait indefinitely for a keystroke (like the PAUSE command) /nobreak Ignore user key strokes.
Timeout will pause command execution for a number of seconds, after which it continues without requiring a user keystroke. If the user does press a key at any point, execution will resume immediately.
A timeout of 1 second will wait until the "next second" so in practice may be as short as 1/10th of a second.
A more accurate delay can be produced by the PING command with a loopback address (127.0.0.1), there is a delay of 1 second between each consecutive ping, so 3 pings will produce a delay of 2 seconds, 11 pings will produce a delay of 10 seconds and so on.
In tests PING consumes less processor time than Sleep.exe or Timeout.exe, this allows other processes to run in the background. The PING command can only be interrupted with Ctrl-C. Source: Clay Calvert (usenet 2001.)
@Echo off Echo Start Microsoft Word, wait for 10 seconds and then start Excel. START "" "C:Program Files (x86)\Microsoft Office\Office16\WINWORD.EXE" TIMEOUT /T 10 START "" "C:Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE"
Set a delay for 40 seconds:
PING -n 41 127.0.0.1>nul
Echo Now we are ready
Wait for up to 600 seconds for a file to appear on a remote server: Set _seconds=0 :waitloop :: Wait for 10 seconds Set /a "_seconds=_seconds+10">nul PING -n 11 127.0.0.1>nul :: If 600 seconds have elapsed exit the loop if %_seconds%==600 goto nextstep if not exist \\Server64\updates\monday.csv goto waitloop :nextstep copy \\Server64\updates\monday.csv D:\imports\
“It is awful work this love and prevents all a mans projects of good or glory” ~ Lord Byron
CHOICE /T Timeout - Accept keyboard input to a batch file.
PAUSE - Suspend processing of a batch file and display a message.
SLEEP - Delay execution for a few seconds/minutes (for use within a batch file).
WAITFOR - Wait for or send a signal.
Equivalent PowerShell: Start-Sleep - Suspend shell, script, or runspace activity (sleep).