Индикатор выполнения PowerShell: методы и примеры кода для создания индикаторов выполнения в PowerShell

Вот несколько методов, которые можно использовать для создания индикатора выполнения в PowerShell, а также примеры кода:

  1. Использование прогресса записи:

    $progress = 0
    $total = 100
    for ($i = 1; $i -le $total; $i++) {
    $progress = $i
    $percentComplete = ($progress / $total) * 100
    $status = "Progress: {0}%" -f $percentComplete
    Write-Progress -Activity "Processing" -Status $status -PercentComplete $percentComplete
    Start-Sleep -Milliseconds 100
    }
    Write-Progress -Activity "Processing" -Completed
  2. Использование пользовательской функции индикатора выполнения:

    function Show-ProgressBar {
    param(
        [int]$PercentComplete
    )
    $width = 50
    $completedWidth = ($PercentComplete / 100) * $width
    $remainingWidth = $width - $completedWidth
    $completedBar = '-' * $completedWidth
    $remainingBar = ' ' * $remainingWidth
    Write-Host -NoNewline "`r[$completedBar$remainingBar] $PercentComplete% Complete"
    }
    $total = 100
    for ($i = 1; $i -le $total; $i++) {
    $percentComplete = ($i / $total) * 100
    Show-ProgressBar -PercentComplete $percentComplete
    Start-Sleep -Milliseconds 100
    }
    Show-ProgressBar -PercentComplete 100
    Write-Host
  3. Использование командлета Write-Host:

    $width = 50
    $total = 100
    for ($i = 1; $i -le $total; $i++) {
    $percentComplete = ($i / $total) * 100
    $completedWidth = ($percentComplete / 100) * $width
    $remainingWidth = $width - $completedWidth
    $completedBar = '-' * $completedWidth
    $remainingBar = ' ' * $remainingWidth
    Write-Host -NoNewline "`r[$completedBar$remainingBar] $percentComplete% Complete"
    Start-Sleep -Milliseconds 100
    }
    Write-Host