在 PowerShell 中获得更好的计时器输出

Knu*_*and 1 powershell-2.0

我有一个脚本可以将一些文件复制到备份存储。我添加了一个计时器来查看它会使用多少时间来做这件事。我用了

$script:start = Get-Date
$start = (Get-Date)
Copy-Item $var0, $var1, $var2 Folders -force -recurse -verbose -Exclude name
$endFulltime = (Get-Date)
"$(($endFulltime-$startFulltime).totalminutes)"
Run Code Online (Sandbox Code Playgroud)

这个问题是输出。它给了我类似 0,34255234561245 分钟的时间,或者如果我把它放在几秒钟内,它看起来是一样的,但数字不同。所以问题不在于它给了我错误的输出;它只是看起来有点乱。

是否有可能获得 5 分 43 秒的输出?而不是这个非常长的数字。

Pet*_*ter 6

用:

Measure-Command {copy-item $var0, $var1, $var2 Folders -force -recurse -verbose -Exclude name} | select @{n="time";e={$_.Minutes,"Minutes",$_.Seconds,"Seconds",$_.Milliseconds,"Milliseconds" -join " "}}
Run Code Online (Sandbox Code Playgroud)

Measure-Command 是测量命令执行时间。使用带有“Select-Object”的哈希表来自定义输出。

输出在我的实验室中是(我正在使用Get-Process cmdlet 进行测试):

time
----
0 Minutes 0 Seconds 16 Milliseconds
Run Code Online (Sandbox Code Playgroud)

还有一个“持续时间”属性。我将深入研究它,看看是否可以简化事情。