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”类型。

4

2 回答 2

1

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

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

这将创建一个TimeSpan对象。

于 2013-05-21T06:08:24.613 回答
0

你可以使用Measure-Command. 它返回一个时间跨度对象。例子:

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
于 2013-05-24T09:26:54.837 回答