There are two commands which we can use to make a batch command sleep for some time. The native available ‘timeout’ command and the resource kit tool ‘sleep’.
Timeout command
We can use ‘timeout’ command in Windows 7 to pause execution for some time and then continue. We can specify the number of seconds to wait, it would wait till the time elapses or until user presses any key.
Example: To wait for 10 seconds
c:\>timeout 10 Waiting for 10 seconds, press a key to continue ...
Example: To sleep for 2 minutes and ignore any key presses
c:\>timeout 120 /nobreak Waiting for 120 seconds, press CTRL+C to quit ...
Sleep command
Windows provides a resource kit tool ‘sleep’ which can be used in batch files or command prompt to pause the execution and wait for some time. Though the tool was intended for XP, I have used it on Windows 7 and it works perfectly fine. Find the download location and installation instructions here :Download Windows resource kit tools .
Syntax of sleep command:
sleep no_of_seconds_to_wait
(or)
sleep -m no_of_milli_seconds_to_wait
Examples:
If you want to pause the execution of a batch file for 50 seconds, then you should insert below statement in your batch file.
sleep 50
If you want to wait for 100 milli seconds, then you can run the below command.
sleep -m 100
Sleep command should also work find on Server 2008 and Server 2008 R2.
Also Read:Windows commands
Instead of downloading extra tools, you can stick with the ping command as well:
ping /t 50 localhost
will “sleep” 50 secs before going on
Out of curiosity, I compared ping vs timeout and both seem to have stopped exactly at the same time. However, with the availability of timeout command, we don’t have to look for such alternatives.
Excuse my typo. For 50 sec sleep, use
ping localhost -n 50
in Windows Vista an later, you can use Timeout /t
You can also download the sleep.exe, insert it into the folder that your .bat file lives in and place a sleep entry into your batch file. You may have to create a second batch file with a taskkill command. If you do use the call “???.bat” after your sleep to kill the application.