Recherche…


Introduction

Une barre de progression peut être utilisée pour montrer que quelque chose est dans un processus. Les barres de progression sont incroyablement utiles lors du débogage pour déterminer quelle partie du script est en cours d’exécution et elles sont satisfaisantes pour les utilisateurs exécutant des scripts pour suivre ce qui se passe. Il est courant d'afficher une sorte de progression lorsqu'un script prend beaucoup de temps à compléter. Lorsqu'un utilisateur lance le script et que rien ne se passe, on commence à se demander si le script a été lancé correctement.

Utilisation simple de la barre de progression

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)
    }

Veuillez noter que, pour des raisons de concision, cet exemple ne contient aucun code exécutif (simulé avec Start-Sleep ). Cependant, il est possible de l'exécuter directement tel quel et de le modifier et de le jouer.

Voici comment les résultats apparaissent dans la console PS: Barre de progression unique de la console Powershell

Voici comment les résultats apparaissent dans PS ISE: Barre de progression unique Powershell ISE

Utilisation de la barre de progression interne

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)

   }

Veuillez noter que, pour des raisons de concision, cet exemple ne contient aucun code exécutif (simulé avec Start-Sleep ). Cependant, il est possible de l'exécuter directement tel quel et de le modifier et de le jouer.

Voici comment les résultats apparaissent dans la console PS: Barre de progression interne de la console Powershell

Voici comment les résultats apparaissent dans PS ISE: Barre de progression interne Powershell ISE



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow