PowerShell
Använd framstegsfältet
Sök…
Introduktion
En framstegsfält kan användas för att visa att något är i en process. Det är en tidsbesparande och smidig funktion som man borde ha. Framstegsfält är oerhört användbara vid felsökning för att ta reda på vilken del av skriptet som kör, och de är tillfredsställande för dem som kör skript för att spåra vad som händer. Det är vanligt att visa någon form av framsteg när ett skript tar lång tid att slutföra. När en användare startar skriptet och ingenting händer börjar man undra om skriptet har startats korrekt.
Enkel användning av framstegsfältet
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)
}
Observera att detta exempel inte innehåller någon verkställande kod (simulerad med Start-Sleep
) för korthet. Men det är möjligt att köra det direkt som det är och än ändra och spela med det.
Så här ser resultatet ut i PS-konsolen:
Således ser resultatet ut i PS ISE:
Användning av inre framstegsfält
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)
}
Observera att detta exempel inte innehåller någon verkställande kod (simulerad med Start-Sleep
) för korthet. Men det är möjligt att köra det direkt som det är och än ändra och spela med det.
Så här ser resultatet ut i PS-konsolen:
Således ser resultatet ut i PS ISE: