以分钟和秒为单位衡量执行时间

时间:2017-01-15 11:56:38

标签: powershell

我想在自动化PowerShell脚本中多次测量。我使用了Get-Date和TotalSeconds。结果如下所示:236.908

如何在几分钟和几秒钟内将经过的时间视为人类可读?

$startTime = (Get-Date)
$endTime = (Get-Date)

$ElapsedTime = (($endTime-$startTime).TotalSeconds)

Write-Host "Duration: xx min xx sec"

2 个答案:

答案 0 :(得分:5)

使用format operator-f):

'Duration: {0:mm} min {0:ss} sec' -f ($endTime-$startTime)

或者像这样,如果你在其他地方也需要差异:

$ElapsedTime = $endTime-$startTime
'Duration: {0:mm} min {0:ss} sec' -f $ElapsedTime

答案 1 :(得分:3)

您也可以使用Measure-Command

Measure-Command -Expression {

    # Command 1
    Get-ChildItem

    # Command N
    Get-Process
}

或者像这样:

$result = Measure-Command -Expression {

    # Command 1
    Get-ChildItem

    # Command N
    Get-Process
}

$result.ToString()