如何在Powershell中进行foreach循环计时

时间:2019-06-20 14:00:45

标签: powershell foreach benchmarking

我有一个非常复杂的powershell脚本,它必须经过很多值。 我想知道是否有一种方法可以让每个循环值花费时间。 我有这样的输出:

Severity=INFO  ####################### Work on new Host ################

Severity=INFO  Host found. Trying to Update

Severity=INFO  Ok on DB!

[...]
Severity=INFO  Try to close Session...

,我想在广告的最后添加这样的内容:

Severity=INFO it takes $time seconds

我看过“测量命令”和“秒表”,但这些似乎都不符合我的需求。

所以我想知道是否确实存在另一种方式。 谢谢

V。

1 个答案:

答案 0 :(得分:1)

定义秒表对象。

$watch = New-Object System.Diagnostics.Stopwatch

将此部分放入您要测量的循环中

$watch.Start() #put this at start of the loop

$time = $watch.Elapsed.TotalSeconds #this at the end
$watch.reset()