PowerShell中的New-TimeSpan cmdlet

时间:2013-05-21 06:03:04

标签: powershell powershell-v2.0

如何使用New-Timespan cmdlet计算脚本执行所需的总时间。我尝试了这样的示例。

$val=Get-Date
$start=New-TimeSpan -Start $val
$val2=Get-Date
$end=New-TimeSpan -End $val2
$diff=New-TimeSpan -Start $start -End $end

但最终出现以下错误:New-TimeSpan:无法绑定参数'Start'。无法将“System.TimeSpan”类型的“00:00:08.7110000”值转换为 输入“System.DateTime”。

2 个答案:

答案 0 :(得分:1)

您不需要使用New-TimeSpan只减去DateTime个对象:

$script_start = Get-Date
Start-Sleep -Seconds 5
$script_end = Get-Date
$script_end - $script_start

这将创建一个TimeSpan对象。

答案 1 :(得分:0)

您可以使用Measure-Command。它返回一个timepan对象。例如:

PS C:\> Measure-Command -Expression {1..10000000}


Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 1
Milliseconds      : 714
Ticks             : 17149279
TotalDays         : 1.98487025462963E-05
TotalHours        : 0.000476368861111111
TotalMinutes      : 0.0285821316666667
TotalSeconds      : 1.7149279
TotalMilliseconds : 1714.9279