The SLEEP command in Windows CMD is used to pause the execution of a batch file for a specified number of seconds. This can be particularly useful in scripts where a delay is required between commands, such as waiting for a network service to start or pausing between deployments of different components. SLEEP provides a simple way to introduce a time delay in automated scripts and workflows.


The syntax for the SLEEP command is straightforward:

SLEEP time_in_seconds
  • time_in_seconds: This is the number of seconds that the command processor will pause before continuing with the next command in the script.


The SLEEP command does not have any options or flags. It simply takes the number of seconds to pause as its sole argument. The absence of options makes it an easy-to-use command without complications.


  1. Basic Usage: Pause a script for 10 seconds.

    SLEEP 10

    This command will halt the script for 10 seconds before proceeding with the subsequent commands.

  2. Using SLEEP in a loop: Example of a countdown from 5 seconds.

    FOR /L %i IN (5,-1,1) DO (ECHO %i & SLEEP 1)

    This loop counts down from 5 to 1, pausing for 1 second between each number.

Common Issues

No Fractional Seconds: The SLEEP command does not support fractional seconds. If a fraction is provided, the command rounds down to the nearest whole number. To wait for less than a second, consider using alternative methods like PowerShell’s Start-Sleep -Milliseconds 500.

Script Execution Stops Unexpectedly:
If a script containing the SLEEP command is executed without admin rights where required, or if there are system restrictions, the script may halt unexpectedly. Always ensure appropriate permissions are granted for the scripts to execute correctly.


SLEEP is often used in conjunction with other CMD commands to manage the timing of operations. Here’s an example of using SLEEP with other commands in a batch script:

ECHO Waiting for system processes to settle...
ECHO Launching backup...
START backup_script.bat

In this script, SLEEP is integrated to provide a pause before starting a backup operation.

  • TIMEOUT: Similar to SLEEP, but includes the ability to interrupt the wait by pressing a key.
  • PING: Sometimes used as a workaround to create delays, especially when SLEEP is not available in older versions of Windows. Example: PING -n 6 > NUL to wait approximately 5 seconds.

For further details and additional parameters, you can refer to the official Microsoft documentation.

This command works well in various scripting cases, particularly in automation processes, where a delay needs to be enforced between command executions or to simulate staggered starts.