PowerShell
Usando la barra di avanzamento
Ricerca…
introduzione
Una barra di avanzamento può essere utilizzata per mostrare che qualcosa si trova in un processo. È una funzionalità che consente di risparmiare tempo e di essere chiari. Le barre di avanzamento sono incredibilmente utili durante il debug per capire quale parte dello script è in esecuzione, e sono soddisfacenti per le persone che eseguono script per tenere traccia di ciò che sta accadendo. È comune visualizzare alcuni tipi di progresso quando uno script richiede molto tempo per essere completato. Quando un utente lancia lo script e non accade nulla, uno inizia a chiedersi se lo script sia stato lanciato correttamente.
Semplice utilizzo della barra di avanzamento
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)
}
Si prega di notare che per brevità questo esempio non contiene alcun codice esecutivo (simulato con Start-Sleep
). Tuttavia è possibile eseguirlo direttamente così com'è e modificarlo e giocarci.
Ecco come appaiono i risultati nella console PS:
Ecco come appare il risultato in PS ISE:
Utilizzo della barra di avanzamento interna
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)
}
Si prega di notare che per brevità questo esempio non contiene alcun codice esecutivo (simulato con Start-Sleep
). Tuttavia è possibile eseguirlo direttamente così com'è e modificarlo e giocarci.
Ecco come appaiono i risultati nella console PS:
Ecco come appare il risultato in PS ISE: