Download Article Download Article

If you need some extra time for a command in your batch file to execute, there are several easy ways to delay a batch file. While the well-known sleep command from older versions of Windows is not available in Windows 10 or 11, you can use the timeout, pause, ping, and choice commands to wait a specific number of seconds or simply pause until the user presses a key. This wikiHow article will teach you 5 simple ways to delay the next command in your batch file on any version of Windows.

Things You Should Know

  • The timeout command lets you pause for specific number of seconds, until a user presses a key, or indefinitely.
  • Use the pause command to delay the batch file until a user presses any key, or the choice command to give the user options to choose from.
  • You can hide on-screen messages that indicate delay to the user by adding >nul to the end of the timeout, ping, and choice commands.
  1. By inserting the timeout command into your batch file, you can prompt the batch file to wait a specified number of seconds (or for a key press) before proceeding.[1] This command is available on all modern versions of windows, including Windows 10.
    • timeout /t <timeoutinseconds> [/nobreak].[2]
    • To pause for 30 seconds and prevent the user from interrupting the pause with a keystroke, you'd enter timeout /t 30 /nobreak.[3]
      • The user will see Waiting for 30 seconds, press CTRL+C to quit ...
    • To delay 100 seconds and allow the user to interrupt the delay, you'd use timeout /t 100.
      • The user will see Waiting for 100 seconds, press a key to continue ...
    • To delay indefinitely until a user enters a keystroke, use timeout /t -1.
      • The user will see Press any key to continue …
    • If you don't want to display a message to the user during the delay, add >nul to the end of your timeout command.
  2. Advertisement
  1. This simple command doesn't require any flags and you can place it anywhere in your script to prevent further action. When the pause command runs in the batch file, the user will see Press any key to continue . . . on a new line. When the user presses a key, the script continues.[4]
    • You might use pause right before a section of the batch file that you might not want to process, or before providing instructions to the user to insert a disk before continuing.[5]
    • At the pause, you can stop the batch program completely by pressing Ctrl + C and then Y.
  1. You can add a ping anywhere in your batch file, enter any hostname or IP address (including a nonexistent address), and specify the time in milliseconds to delay the next command. You'll also be able to hide the output of the ping so the user won't see what's happening in the background.[6]
    • ping /n 1 /w <timeout in milliseconds> localhost >nul
      • Ping has many more available flags, but for the purpose of delaying a batch file, you'll only need to use a few. In this case, we'll ping ourselves by using localhost as our destination.
      • To pause quietly for 10 seconds, you'd use ping /n 1 /w 10000 localhost >nul
  2. Advertisement
  1. You can customize the list of choices, use the default options of Y or N, or choose not to display any choices at all and simply delay your script for a specific period of time.[7]
    • choice [/c [<choice1><choice2><…>]] [/n] [/cs] [/t <seconds> /d <choice>] [/m <text>]
      • /c <choice1><choice2><…>: Specifies the choices you'd like to create, which can include a-z, A-Z, 0-9, and ASCII characters 128-254.
      • /t <seconds>: Use this flag to specify how many seconds to wait before the default choice is selected. You can set this value to any number between 0 (which instantly selects the default choice) and 9999.
      • /d <choice>: Specifies the default choice from the list of choices created with /c.
      • /n (optional): hides the list of choices, but still allows the user to select one.
      • /m <text> (optional): displays a message before the choice list. If you don't include this flag but don't hide the choice list, the choices will still be displayed.
      • /cs (optional): This specifies that choices are case-sensitive, which is important if you want to assign different functions to capital and lowercase letters.
    • To create a delay with CHOICE without displaying a message or forcing the user to choose something, use rem | choice /c:AB /T:A,30 >nul. This command simply delays the batch file for 30 seconds (similar to using Timeout with no message), provides no choices to the user, and continues after the delay. You can replace 30 with any value up to 9999 (in seconds).
  1. This command will not work in any newer versions of Windows starting with Windows Vista, but is the easiest way to add wait time to batch files running on older systems.
    • sleep <seconds>
    • The sleep command only requires the number of seconds you want to delay the batch file. For example, to wait 30 seconds before continuing, you'd use sleep 30.
  2. Advertisement

Community Q&A

Search
Add New Question
  • Question
    How do I not get a message when I use timeout?
    Community Answer
    Community Answer
    Add the >nul qualifier, like this: timeout /t 120 >nul. This causes a 2 minute delay with no output to the screen.
  • Question
    What if the sleep command doesn't work?
    Community Answer
    Community Answer
    If the sleep command doesn't work, use timeout instead.
  • Question
    What if I want to wait less than one second? I can't just use a dot or a comma.
    Community Answer
    Community Answer
    You can use the ping command. This command, if used with a non-existent IP address, will try to talk to a non-existent computer and give up after a specified number of milliseconds. Just multiply the number of seconds by 1000, and you're good to go.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement

Tips

  • You can run a batch file on any Windows computer by double-clicking it, or launch it from the command prompt.
  • The "PAUSE" command is best used in situations where you're relying on a user to trigger the next section of the batch file, while the "TIMEOUT" command is suited to situations in which you want to allow the file to run automatically.
  • The formerly used "SLEEP" command does not work on Windows Vista or later, including Windows 10 and 11.
Submit a Tip
All tip submissions are carefully reviewed before being published
Thanks for submitting a tip for review!
Advertisement

You Might Also Like

Create Options or Choices in a Batch FileCreate Options or Choices in a Batch File
Change Code on Schlage LockHow to Change 4-Digit User Codes on Schlage Locks
Format Text as Code in Discord2 Simple Ways to Format Text Into Code on Discord
Reset Schlage Keypad Lock Without Programming CodeHow to Factory Reset a Schlage Lock & Restore the Default Programming Code
Run a Program from the Command Line on LinuxRun a Program from the Command Line on Linux
Convert from Binary to DecimalConverting Binary to Decimal: Positional Notation & Doubling
Write PseudocodeLearn to Write Pseudocode: What It Is and Why You Need It
Make an Exe FileMake an Exe File
Download a GitHub Folder3 Ways to Download GitHub Directories and Repositories
View Source CodeHow to View Source Code
CodeCode
Make a Program Using NotepadMake a Program Using Notepad
Convert from Decimal to HexadecimalConvert from Decimal to Hexadecimal: A Quick Guide + Examples
Create a Gaming AppCreate a Gaming App
Advertisement

About This Article

Nicole Levine, MFA
Written by:
wikiHow Technology Writer
This article was co-authored by wikiHow staff writer, Nicole Levine, MFA. Nicole Levine is a Technology Writer and Editor for wikiHow. She has more than 20 years of experience creating technical documentation and leading support teams at major web hosting and software companies. Nicole also holds an MFA in Creative Writing from Portland State University and teaches composition, fiction-writing, and zine-making at various institutions. This article has been viewed 1,496,307 times.
How helpful is this?
Co-authors: 27
Updated: August 30, 2023
Views: 1,496,307
Categories: Programming
Thanks to all authors for creating a page that has been read 1,496,307 times.

Reader Success Stories

  • Nangah Shikari

    Nangah Shikari

    Jun 6, 2016

    "This is great. The ping one, especially. I was working on crashing computers and I worked out that it takes 128..." more
Share your story

Is this article up to date?

Advertisement