From http://malektips.com/dos0017.html
Do you need a batch file waiting for a certain number of seconds? In some languages, the command will be WAIT, but DOS and Windows will not ship with this command for batch files. If you want to implement the WAIT command:
For DOS, Windows 95, and Windows 98 computers
Create the following batch file and name it WAIT.BAT.
@ CHOICE / T: N,% 1%> NUL
Now, to wait 10 seconds in the batch file, simply call the batch file WAIT.BAT as follows:
CALL WAIT 10
For computers with Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, or Windows 2003
You can use the following WAIT.BAT, since the CHOICE command is not included in the default installation in Windows NT, Windows 2000, Windows XP, or Windows 2003:
@ping 127.0.0.1 -n 2 -w 1000> nul @ping 127.0.0.1 -n% 1% -w 1000> nul
The reason for the two lines is that in order to wait for the use of the PING command, you must add additional pings to correctly wait for the desired number of seconds. In addition, since the PING command is used, it is possible that this WAIT batch file can run for several milliseconds. Therefore, it is not recommended to use this for real-time critical processing.
Windows XP and Windows 2003
Since users of Windows XP and 2003 do not have the CHOICE command, if you find an alternative to PING that does not suit you, there is a SLEEP command in the Windows 2003 resource set command.