Public/console/Write-ProgressBar.ps1
function Write-ProgressBar { # .SYNOPSIS # Writes the status progress of activities. # .DESCRIPTION # A custom / inline write-progress # With a couple of benefits: # + The progress bar will not disappear after it's done # + You will keep track of the how far the bar had progressed when an error occurs # + It supports transcripts # .EXAMPLE # # When used with large number of objects # For ([int]$i=0; $i -le 8192; $i++) { Write-ProgressBar -Completed $i -OutOf 8192 -Activity "Running TaskName:" -CurrentOperation "Working on object $i" } # .EXAMPLE # # Using Percentage # For ([int]$i=0; $i -le 150; $i++) {Write-ProgressBar -CurrentOperation "Working on Position $i" -PercentComplete $i -ForegroundColor Green -BackgroundColor Black} # .INPUTS # [string] # .OUTPUTS # [string] # .LINK [CmdletBinding()] param ( [Parameter(Mandatory = $true, Position = 0)] [Alias('p')] [int]$percent, [Parameter(Mandatory = $true, Position = 1)] [Alias('l')] [int]$PBLength, [Parameter(Mandatory = $false)] [switch]$update ) end { [ProgressUtil]::WriteProgressBar($percent, $update.IsPresent, $PBLength); } } |