PowerShell
Использование индикатора выполнения
Поиск…
Вступление
Индикатор выполнения может использоваться, чтобы показать, что что-то находится в процессе. Это функция экономии времени и слайка, которую нужно иметь. Полосы прогресса невероятно полезны при отладке, чтобы выяснить, какая часть скрипта выполняется, и они удовлетворяют для людей, выполняющих скрипты, отслеживать, что происходит. Обычно для отображения какого-то прогресса, когда сценарий занимает много времени для завершения. Когда пользователь запускает скрипт, и ничего не происходит, возникает вопрос, правильно ли запущен скрипт.
Простое использование индикатора выполнения
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)
}
Обратите внимание, что для краткости этот пример не содержит исполнительного кода (моделируется с помощью Start-Sleep
). Однако можно запускать его напрямую, как есть, а затем модифицировать и играть с ним.
Вот как выглядит результат в консоли PS:
Вот как выглядит результат в PS ISE:
Использование внутреннего индикатора выполнения
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)
}
Обратите внимание, что для краткости этот пример не содержит исполнительного кода (моделируется с помощью Start-Sleep
). Однако можно запускать его напрямую, как есть, а затем модифицировать и играть с ним.
Вот как выглядит результат в консоли PS:
Вот как выглядит результат в PS ISE: