PowerShell
Fortschrittsbalken verwenden
Suche…
Einführung
Ein Fortschrittsbalken kann verwendet werden, um anzuzeigen, dass sich etwas in einem Prozess befindet. Es ist eine zeitsparende und glatte Funktion, die man haben sollte. Fortschrittsbalken sind beim Debuggen unglaublich nützlich, um herauszufinden, welcher Teil des Skripts ausgeführt wird, und sie sind zufriedenstellend für die Personen, die Skripts ausführen, um zu verfolgen, was passiert. Es ist üblich, einen Fortschritt anzuzeigen, wenn ein Skript lange dauert. Wenn ein Benutzer das Skript startet und nichts passiert, fragt man sich, ob das Skript ordnungsgemäß gestartet wurde.
Einfache Verwendung der Fortschrittsleiste
1..100 | ForEach-Object {
Write-Progress -Activity "Copying files" -Status "$_ %" -Id 1 -PercentComplete $_ -CurrentOperation "Copying file file_name_$_.txt"
Start-Sleep -Milliseconds 500 # sleep simulates working code, replace this line with your executive code (i.e. file copying)
}
Bitte beachten Sie, dass dieses Beispiel der Kürze halber keinen Code enthält (mit Start-Sleep
simuliert). Es ist jedoch möglich, es direkt als solches auszuführen und dann zu modifizieren und damit zu spielen.
So sieht das Ergebnis in der PS-Konsole aus:
So sieht das Ergebnis in PS ISE aus:
Verwendung des inneren Fortschrittsbalkens
1..10 | foreach-object {
$fileName = "file_name_$_.txt"
Write-Progress -Activity "Copying files" -Status "$($_*10) %" -Id 1 -PercentComplete ($_*10) -CurrentOperation "Copying file $fileName"
1..100 | foreach-object {
Write-Progress -Activity "Copying contents of the file $fileName" -Status "$_ %" -Id 2 -ParentId 1 -PercentComplete $_ -CurrentOperation "Copying $_. line"
Start-Sleep -Milliseconds 20 # sleep simulates working code, replace this line with your executive code (i.e. file copying)
}
Start-Sleep -Milliseconds 500 # sleep simulates working code, replace this line with your executive code (i.e. file search)
}
Bitte beachten Sie, dass dieses Beispiel der Kürze halber keinen Code enthält (mit Start-Sleep
simuliert). Es ist jedoch möglich, es direkt als solches auszuführen und dann zu modifizieren und damit zu spielen.
So sieht das Ergebnis in der PS-Konsole aus:
So sieht das Ergebnis in PS ISE aus: