PowerShell
Usando la barra de progreso
Buscar..
Introducción
Se puede usar una barra de progreso para mostrar que algo se encuentra en un proceso. Es una característica que le permite ahorrar tiempo y es elegante. Las barras de progreso son increíblemente útiles para depurar qué parte de la secuencia de comandos se está ejecutando, y son satisfactorias para las personas que ejecutan secuencias de comandos para realizar un seguimiento de lo que está sucediendo. Es común mostrar algún tipo de progreso cuando una secuencia de comandos tarda mucho tiempo en completarse. Cuando un usuario inicia la secuencia de comandos y no sucede nada, uno comienza a preguntarse si la secuencia de comandos se inició correctamente.
Uso simple de la barra de progreso.
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)
}
Tenga en cuenta que, por brevedad, este ejemplo no contiene ningún código ejecutivo (simulado con Start-Sleep
). Sin embargo, es posible ejecutarlo directamente como está y luego modificarlo y jugar con él.
Así es como se ve el resultado en la consola PS:
Así es como se ve el resultado en PS ISE:
Uso de la barra de progreso interior
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)
}
Tenga en cuenta que, por brevedad, este ejemplo no contiene ningún código ejecutivo (simulado con Start-Sleep
). Sin embargo, es posible ejecutarlo directamente como está y luego modificarlo y jugar con él.
Así es como se ve el resultado en la consola PS:
Así es como se ve el resultado en PS ISE: