In this hub I'm going to explain how to create a loop inside a batch program and how to make a batch program sleep or delay itself for a specific interval of time.
How to create a loop inside batch file
To create a loop inside the batch file all we got to do is use a label and use a goto statement.
rem The code to be executed
don't forget to use a ":" before the label name, and the code to be repeated or looped should be placed between the label and the goto label part.
To exit the loop we can set conditions using an if statement
Here is an example batch program to run a loop ten times
Batch file to Run a Loop 10 times
timeout Specifies the number of seconds to wait. Valid range is -1 to 99999 seconds.
Ignore key presses and wait specified time
Displays this help message.
How to Make a Batch program Delay or Sleep
To make our batch program delay or wait we make use of the function Timeout
This utility accepts a timeout parameter to wait for the specified
time period (in seconds) or until any key is pressed. It also
accepts a parameter to ignore the key press.
TIMEOUT /T 10
TIMEOUT /T 300 /NOBREAK
TIMEOUT /T -1
How to perform delay using a loop ?
In older versions of Windows, the command prompt wont support the Timeout function. So to if we want to delay the cmd or our commands we can use a loop to achieve that or the ping option
if you are using a ping option all you have to do is add
ping 22.214.171.124 -n 1 -w 10000 > nul
- The -w 10000 part specifies the desired timeout in milliseconds.
- The -n 1 part tells ping that it should only tries once (normally it'd try 4 times).
- The > nul part is appended so the ping command doesn't output anything to screen.
if you want to use a loop just use
set /a count=%count%-1
if %count% NEQ 0 goto loop
- use this code snippet were you want to delay the bat file
- change the value of the count in the first line depednig on the time delay required
- if condition checks wether the value inside the variabe count is 0 or not, if the value is not zero it will again go to loop
- when the count becomes 0 it will execute the rest of the program
© 2013 Athul M R
Michel Gambier from Melun on October 16, 2017:
great article! will study it and leave back a better comment
a salted peanut. on June 09, 2014:
I would like to make an infinite loop to open a new instance of cmd and run a selected code, but it must open a number of cmds. So in other words it must call another bat file in a new cmd
dibya on May 15, 2014:
sri on May 15, 2014:
thanks a lot :) :)
Athul M R (author) from Calicut, Kerala, INDIA on September 29, 2013:
you are most welcome :)
amzma on September 28, 2013:
thanks for your tutor :D
Athul M R (author) from Calicut, Kerala, INDIA on September 23, 2013:
Bhuvanesh Thanks for you positive feedback =)
bhuvanesh on September 23, 2013:
rly useful....gud wrk bro..........:)