PowerShell में कमांड के निष्पादन को समय देना


Answers

आप इतिहास से अंतिम आदेश भी प्राप्त कर सकते हैं और अपने EndExecutionTime को अपने StartExecutionTime से StartExecutionTime

.\do_something.ps1  
$command = Get-History -Count 1  
$command.EndExecutionTime - $command.StartExecutionTime
Question

क्या PowerShell में कमांड को निष्पादित करने का समय आसान है, जैसे कि लिनक्स में 'टाइम' कमांड?
मैं इसके साथ आया:

$s=Get-Date; .\do_something.ps1 ; $e=Get-Date; ($e - $s).TotalSeconds

लेकिन मुझे कुछ आसान पसंद है

time .\do_something.ps1



साधारण

function time($block) {
    $sw = [Diagnostics.Stopwatch]::StartNew()
    &$block
    $sw.Stop()
    $sw.Elapsed
}

तो के रूप में उपयोग कर सकते हैं

time { .\some_command }

आप आउटपुट को ट्विक करना चाहते हैं




यहां एक फ़ंक्शन लिखा गया है जो यूनिक्स time कमांड के समान काम करता है:

function time {
    Param(
        [Parameter(Mandatory=$true)]
        [string]$command,
        [switch]$quiet = $false
    )
    $start = Get-Date
    try {
        if ( -not $quiet ) {
            iex $command | Write-Host
        } else {
            iex $command > $null
        }
    } finally {
        $(Get-Date) - $start
    }
}

स्रोत: https://gist.github.com/bender-the-greatest/741f696d965ed9728dc6287bdd336874






Links