2012-03-21 53 views
0

我正在循環顯示項目列表並對每個項目執行寫入過程。在執行腳本期間顯示時鐘

是否可以在腳本執行過程中顯示計時器?

例如顯示$elapsedTime

$elapsedTime = [system.diagnostics.stopwatch]::StartNew() 

作爲基礎每個第二。但是,這可能在同一個PowerShell窗口中?

回答

2

這樣的:

$elapsedTime = [system.diagnostics.stopwatch]::StartNew() 

1..1000 | %{write-progress -activity "Working..." -status "$([string]::Format("Time Elapsed: {0:d2}:{1:d2}:{2:d2}", $elapsedTime.Elapsed.hours, $elapsedTime.Elapsed.minutes, $elapsedTime.Elapsed.seconds))" -percentcomplete ($_/10);} 

$elapsedTime.stop() 
+0

Thabk你!唯一的是,定時器只在循環的每次迭代中更新,而不是每秒鐘。 – Sune 2012-03-22 12:07:51

+0

經過仔細考慮(!)後,我決定這樣做!工作正常:)我只是前綴「更新每個循環」。謝謝! – Sune 2012-03-22 14:24:09

2

豈不是這樣工作的:

1..100 | %{write-progress -activity "Search in Progress" -status "$_ Time: $($elapsedTime.Elapsed)" -percentcomplete $_;} 
+0

這就是我想出了爲好,但它只會在每次循環更新.. – Sune 2012-03-22 12:08:33