Sdílet prostřednictvím


Write-Progress

Zobrazí indikátor průběhu v příkazovém okně PowerShellu.

Syntax

Default (Výchozí)

Write-Progress
    [-Activity] <String>
    [[-Status] <String>]
    [[-Id] <Int32>]
    [-PercentComplete <Int32>]
    [-SecondsRemaining <Int32>]
    [-CurrentOperation <String>]
    [-ParentId <Int32>]
    [-Completed]
    [-SourceId <Int32>]
    [<CommonParameters>]

Description

Rutina Write-Progress zobrazí indikátor průběhu v příkazovém okně Windows PowerShellu, který znázorňuje stav spuštěného příkazu nebo skriptu. Můžete vybrat indikátory, které pruh odráží, a text, který se zobrazí nad a pod indikátorem průběhu.

Příklady

Příklad 1: Zobrazení průběhu smyčky For

for ($i = 1; $i -le 100; $i++ )
{
    Write-Progress -Activity "Search in Progress" -Status "$i% Complete:" -PercentComplete $i;
}

Tento příkaz zobrazí průběh smyčky For, která počítá od 1 do 100.

Rutina Write-Progress obsahuje záhlaví stavového řádku Activity, stavový řádek a proměnnou $i (čítač ve smyčce For), která označuje relativní úplnost úlohy.

Příklad 2: Zobrazení průběhu vnořených smyček For

for($I = 1; $I -lt 101; $I++ )
{
    Write-Progress -Activity Updating -Status 'Progress->' -PercentComplete $I -CurrentOperation OuterLoop
    for($j = 1; $j -lt 101; $j++ )
    {
        Write-Progress -Id 1 -Activity Updating -Status 'Progress' -PercentComplete $j -CurrentOperation InnerLoop
    }
}
Updating
Progress ->
 [ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo]
OuterLoop
Updating
Progress
 [oooooooooooooooooo                                                   ]
InnerLoop

Tento příklad zobrazuje průběh dvou vnořených smyček For, z nichž každá je reprezentována indikátorem průběhu.

Příkaz Write-Progress druhého indikátoru průběhu obsahuje parametr id , který ho odlišuje od prvního indikátoru průběhu.

Bez ID parametru by byly indikátory průběhu překryvné na sebe místo toho, aby se zobrazovaly pod druhým.

Příklad 3: Zobrazení průběhu hledání řetězce

# Use Get-EventLog to get the events in the System log and store them in the $Events variable.
$Events = Get-EventLog -LogName system
# Pipe the events to the ForEach-Object cmdlet.
$Events | ForEach-Object -Begin {
    # In the Begin block, use Clear-Host to clear the screen.
    Clear-Host
    # Set the $i counter variable to zero.
    $i = 0
    # Set the $out variable to a empty string.
    $out = ""
} -Process {
    # In the Process script block search the message property of each incoming object for "bios".
    if($_.message -like "*bios*")
    {
        # Append the matching message to the out variable.
        $out=$out + $_.Message
    }
    # Increment the $i counter variable which is used to create the progress bar.
    $i = $i+1
    # Use Write-Progress to output a progress bar.
    # The Activity and Status parameters create the first and second lines of the progress bar heading, respectively.
    Write-Progress -Activity "Searching Events" -Status "Progress:" -PercentComplete ($i/$Events.count*100)
} -End {
    # Display the matching messages using the out variable.
    $out
}

Tento příkaz zobrazí průběh příkazu k vyhledání řetězce bios v protokolu událostí systému.

Hodnota parametru PercentComplete se vypočítá vydělením počtu zpracovaných událostí celkovým počtem načtených událostí a následným vynásobením výsledku číslem 100.

Parametry

-Activity

Určuje první řádek textu v záhlaví nad stavovým řádkem. Tento text popisuje aktivitu, jejíž průběh se hlásí.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Completed

Určuje, jestli je indikátor průběhu viditelný. Pokud tento parametr vynecháte, Write-Progress zobrazí informace o průběhu.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-CurrentOperation

Určuje řádek textu pod indikátorem průběhu. Tento text popisuje právě probíhající operaci.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Id

Určuje ID, které rozlišuje jednotlivé indikátory průběhu od ostatních. Tento parametr použijte při vytváření více než jednoho indikátoru průběhu v jednom příkazu. Pokud indikátory průběhu nemají různá ID, jsou místo zobrazení v řadě překryvné.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:3
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-ParentId

Určuje nadřazenou aktivitu aktuální aktivity. Pokud aktuální aktivita nemá žádnou nadřazenou aktivitu, použijte hodnotu -1.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-PercentComplete

Určuje procento dokončené aktivity. Použijte hodnotu -1, pokud je procento dokončení neznámé nebo nelze použít.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SecondsRemaining

Určuje předpokládaný počet sekund zbývající do dokončení aktivity. Hodnotu použijte -1, pokud je počet sekund, které zbývá, neznámé nebo nepoužitelné.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SourceId

Určuje zdroj záznamu.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Status

Určuje druhý řádek textu v záhlaví nad stavovým řádkem. Tento text popisuje aktuální stav aktivity.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:2
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Vstup do této rutiny nelze převést.

Výstupy

None

Write-Progress negeneruje žádný výstup.

Poznámky

Pokud se indikátor průběhu nezobrazí, zkontrolujte hodnotu proměnné $ProgressPreference. Pokud je hodnota nastavena na SilentlyContinue, indikátor průběhu se nezobrazí. Další informace o předvolbách Windows PowerShellu najdete v tématu about_Preference_Variables.

Parametry rutiny odpovídají vlastnostem System.Management.Automation.ProgressRecord třídy. Další informace naleznete v tématu ProgressRecord třída v knihovně MSDN.