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

如何在powershell中进行foreach循环计时,powershell,foreach,benchmarking,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

我有一个相当复杂的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.

定义秒表对象

$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()

定义秒表对象

$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()

看看你能用
[System.Diagnostics.Stopwatch]做些什么::new()
什么时候。。。[grin]我正在努力理解您可能想要什么,而测量命令和System.Diagnostics.Stopwatch都不能满足。为什么
Stopwatch
Measure Command
都不能满足您的需要?你能澄清一下这两个函数没有提供什么功能吗?此外,您和我们都应该在详细信息中完整显示循环部分的开始和结束。请看一下您可以使用
[System.Diagnostics.Stopwatch]::new()
什么时候。。。[grin]我正在努力理解您可能想要什么,而测量命令和System.Diagnostics.Stopwatch都不能满足。为什么
Stopwatch
Measure Command
都不能满足您的需要?你能澄清一下这两个函数没有提供什么功能吗?此外,您和我们都应该在详细信息中完整显示循环部分的开始和结束。谢谢Rohin,这正是我想要的。事实上,我认为秒表不适合我的需要,只是因为我不知道重置命令。。。再次感谢你。非常感谢。谢谢罗欣,这正是我想要的。事实上,我认为秒表不适合我的需要,只是因为我不知道重置命令。。。再次感谢你。非常感谢。