Measure-Command
Applies To: Windows PowerShell 2.0
Measures the time it takes to run script blocks and cmdlets.
Syntax
Measure-Command [-Expression] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]
Description
The Measure-Command cmdlet runs a script block or cmdlet internally, times the execution of the operation, and returns the execution time.
Parameters
-Expression <scriptblock>
Specifies the expression that is being timed. Enclose the expression in braces ({}). The parameter name ("Expression") is optional.
Required? |
true |
Position? |
1 |
Default Value |
|
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-InputObject <psobject>
Specifies objects representing the expressions to be measured. Enter a variable that contains the objects or type a command or expression that gets the objects.
Required? |
false |
Position? |
named |
Default Value |
|
Accept Pipeline Input? |
true (ByValue) |
Accept Wildcard Characters? |
false |
<CommonParameters>
This command supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, OutBuffer, OutVariable, WarningAction, and WarningVariable. For more information, see about_CommonParameters.
Inputs and Outputs
The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.
Inputs |
System.Management.Automation.PSObject You can pipe an object to Measure-Command. |
Outputs |
System.TimeSpan Measure-Command returns a time span object that represents the result. |
Notes
For more information, type "Get-Help Measure-Command -detailed". For technical information, type "Get-Help Measure-Command -full".
When specifying multiple values for a parameter, use commas to separate the values. For example, "<parameter-name> <value1>, <value2>".
Example 1
C:\PS>Measure-Command { get-eventlog "windows powershell" }
Description
-----------
This command measures the time it takes to run a "get-eventlog" command that gets the events in the Windows PowerShell event log.
Example 2
C:\PS>measure-command {get-childitem c:\windows -include *.txt -recurse}
Days : 0
Hours : 0
Minutes : 0
Seconds : 8
Milliseconds : 618
Ticks : 86182763
TotalDays : 9.9748568287037E-05
TotalHours : 0.00239396563888889
TotalMinutes : 0.143637938333333
TotalSeconds : 8.6182763
TotalMilliseconds : 8618.2763
C:\PS>measure-command {get-childitem c:\windows -filter "*.txt" -recurse}
Days : 0
Hours : 0
Minutes : 0
Seconds : 1
Milliseconds : 140
Ticks : 11409189
TotalDays : 1.32050798611111E-05
TotalHours : 0.000316921916666667
TotalMinutes : 0.019015315
TotalSeconds : 1.1409189
TotalMilliseconds : 1140.9189
Description
-----------
These commands show the value of using a provider-specific filter in Windows PowerShell commands. The first command measures the time it takes to process a recursive Get-ChildItem command that uses the Include parameter. The second command measures the time it takes to process a recursive Get-ChildItem command that uses the provider-specific Filter parameter.