I want to make a batch file wait for 0.5 or 0.25 seconds.
I have already tried timeout /t 0.5
but it is not working.
It is something like:@echo off color a cls :top echo %random% timeout /t 0.5 echo %random% goto top
Edit : Thanks for the answers y'all
To make a batch file wait for a number of seconds there are several options available: 1 PAUSE 2 SLEEP 3 TIMEOUT 4 PING 5 NETSH (Windows XP/Server 2003 only) 6 CHOICE 7 CountDown 8 SystemTrayMessage 9 Other scripting languages 10 Unix ports
There are three main commands you can use to delay a batch file: PAUSE — Causes the batch file to pause until a standard key (e.g., the spacebar) is pressed. TIMEOUT — Prompts the batch file to wait for a specified number of seconds (or a key press) before proceeding.
If you are writing a batch file and you don’t want to continue until somebody presses a key, you can do it really easy with the timeout command. For instance, using the following on the command prompt will pause the terminal for 10 seconds unless you press a key: timeout /t 10.
Use call ar.bat to do it completely with batch file commands. Use start /wait ar.bat to get another window and wait for it to complete. Thanks for contributing an answer to Stack Overflow!
Try this: ping 127.0.0.1 -n 1 -w 500> nul
500 is the time in ms.
EDIT:
As rojo posted in the comments this won't work as expected for 250ms:
ping used this way pauses a minimum of 500ms. Using any value lower than 500 still results in a half second pause
TIMEOUT
only works in increments of whole seconds.
There are other third-party "sleep" executables you can download.
Alternatively, you could use the Sleep
method in VBScript. It accepts values as milliseconds. Here is a simple example (save it to SLEEP.VBS
or whatever name you want):
ms = WScript.Arguments(0)
WScript.Sleep ms
Then, in your batch file call it like this for a 0.5 second delay:
CSCRIPT SLEEP.VBS 500
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With