PowerShell показывает прошедшее время

У меня есть скрипт, который запускает событие и ждет, пока пользователь нажмет любую клавишу, чтобы остановить выполнение скрипта. . Я пытался найти способ показать таймер (как долго работает скрипт) в ожидании ввода пользователя на Read-Host. Есть ли способ сделать это?


Это работает

$Time = [System.Diagnostics.Stopwatch]::StartNew()
while ($true) {
    $CurrentTime = $Time.Elapsed
    write-host $([string]::Format("`rTime: {0:d2}:{1:d2}:{2:d2}",
                                  $CurrentTime.hours,
                                  $CurrentTime.minutes,
                                  $CurrentTime.seconds)) -nonewline
    sleep 1
    if ($Host.UI.RawUI.KeyAvailable -and ("q" -eq $Host.UI.RawUI.ReadKey("IncludeKeyUp,NoEcho").Character)) {
        Write-Host "Exiting now"
        break;
    }
}

19
задан Peter Mortensen 6 January 2019 в 18:03
поделиться