実行するスクリプトがどれくらいかかり、タイマーの使用方法を知りたがっているかどうかを確認する必要がありますので、ロジックを確認するために以下の短いテストを書きました:睡眠またはストップウォッチが正確に測定されていない
私は単に、タイマーを開始する2000ミリ秒でStart-Sleep
を呼び出した後、出力しています
for($i = 0; $i -lt 11; $i++) {
$sw = [Diagnostics.Stopwatch]::StartNew()
Start-Sleep -Milliseconds 2000
$sw.Stop()
$elapsed = $sw.Elapsed.Milliseconds
Write-Host $elapsed
}
(私は何だろうと思った)経過時間(ミリ秒)。
この
が出力されます。1
6
11
11
12
9
11
12
12
11
8
私は出力から何を期待するのではない100%確信していたが、私の仮定は、これは睡眠の長さであるとして、各行は、ちょうど2000上だろうということでした。
ここで何が起こっているのか分かりますか?私は同様に混乱した結果で他の金種(分、時間、秒)でこれをテストしました。
このスクリプトを実行するたびに結果が異なり、パターンを確認できないようです。