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 curly braces ({}). The parameter name ("Expression") is optional.
Required? |
true |
Position? |
1 |
Default Value |
none |
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 |
none |
Accept Pipeline Input? |
true (ByValue) |
Accept Wildcard Characters? |
false |
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. 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" } 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.
See Also