Start-Sleep

Suspends the activity in a script or session for the specified period of time.

Syntax

Start-Sleep
     [-Seconds] <Double>
     [<CommonParameters>]
Start-Sleep
     -Milliseconds <Int32>
     [<CommonParameters>]

Description

The Start-Sleep cmdlet suspends the activity in a script or session for the specified period of time. You can use it for many tasks, such as waiting for an operation to complete or pausing before repeating an operation.

Examples

Example 1: Sleep all commands for 15 seconds

Start-Sleep -s 15

Example 2: Sleep all commands for 1.5 seconds

This example makes all the commands in the session sleep for one and one-half of a seconds.

Start-Sleep -Seconds 1.5

Parameters

-Milliseconds

Specifies how long the resource sleeps in milliseconds. The parameter can be abbreviated as m.

Type:Int32
Aliases:ms
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-Seconds

Specifies how long the resource sleeps in seconds. You can omit the parameter name or you can abbreviate it as s. Beginning in PowerShell 6.2.0, this parameter now accepts fractional values.

Type:Double
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName, ByValue)
Accept wildcard characters:False

Inputs

System.Int32

You can pipe the number of seconds to Start-Sleep.

Outputs

None

This cmdlet does not return any output.

Notes

  • You can also refer to Start-Sleep by its built-in alias, sleep. For more information, see about_Aliases.
  • Ctrl+C breaks out of Start-Sleep.
    • Ctrl+C does not break out of [Threading.Thread]::Sleep. For more information, see Thread.Sleep Method.