Table of Contents
Delay running in batch scripting
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 example, you want to open multiple URLs at once using a batch script, and you want to add a delay of some seconds between each URL because they open all at once which freezes up the machine.
Here is the script without timeout parameters:
@echo off
start chrome.exe "http://google.com"
start chrome.exe "https://yahoo.com"
start chrome.exe "https://bing.com"
Delay x seconds before running the next command
For instance, using the following on the command prompt will pause the terminal for 10 seconds unless you press a key:
@echo on
start chrome.exe "http://google.com"
timeout /t 10
start chrome.exe "https://yahoo.com"
timeout /t 10
start chrome.exe "https://bing.com"
pause
The output when you run the batch script:
Delay x seconds with nobrake
Whereas this command will pause the terminal for 30 seconds whether you press a key or not:
@echo on
start chrome.exe "http://google.com"
timeout /t 10 /nobreak
start chrome.exe "https://yahoo.com"
timeout /t 10 /nobreak
start chrome.exe "https://bing.com"
pause
The output when you run the batch script:
And this one will pause forever until you press a key:
@echo on
start chrome.exe "http://google.com"
timeout /t -1
start chrome.exe "https://yahoo.com"
timeout /t 10 /nobreak
start chrome.exe "https://bing.com"
pause
When you run the script, after executing the first command, you need to press any key to execute the next one.
Do you mind if I quote a couple of your posts as long as
I provide credit and sources back to your website? My blog is in the very same area of interest as yours and my users would really benefit from a lot of the information you provide here.
Please let me know if this okay with you. Many thanks!