Tôi có tập lệnh khởi chạy sự kiện và đợi người dùng nhấn bất kỳ phím nào để dừng thực thi tập lệnh. Tôi đã cố gắng tìm một cách để hiển thị một bộ đếm thời gian (bao lâu kịch bản đã được chạy) trong khi chờ đợi cho người dùng đầu vào tại Read-Host. Có cách nào để thực hiện điều này?Powershell hiển thị thời gian đã trôi qua
Chỉnh sửa: Cảm ơn tất cả các đầu vào. Này hoạt động
$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;
}
}
Hãy xem ở đây để sử dụng giao diện người dùng WPF trong backgound trong powershell http://www.nivot.org/blog/post/2008/05/23/BackgroundTimerPowerShellWPFWidget –