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: Powershell konsol en enda framstegsfält

Således ser resultatet ut i PS ISE: Powershell ISE enda framstegsfält

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: Powershell konsol inre framstegsfält

Således ser resultatet ut i PS ISE: Powershell ISE inre framstegsfält



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow