Write-Progress
Egy folyamatjelző sávot jelenít meg egy PowerShell-parancsablakban.
Syntax
Default (Alapértelmezett)
Write-Progress
[-Activity] <String>
[[-Status] <String>]
[[-Id] <Int32>]
[-PercentComplete <Int32>]
[-SecondsRemaining <Int32>]
[-CurrentOperation <String>]
[-ParentId <Int32>]
[-Completed]
[-SourceId <Int32>]
[<CommonParameters>]
Description
A Write-Progress parancsmag egy folyamatjelző sávot jelenít meg egy Windows PowerShell-parancsablakban, amely egy futó parancs vagy szkript állapotát jeleníti meg.
Kiválaszthatja azokat a jelzőket, amelyeket a sáv tükröz, valamint az előrehaladási sáv fölött és alatt megjelenő szöveget.
Példák
1. példa: A For ciklus előrehaladásának megjelenítése
for ($i = 1; $i -le 100; $i++ )
{
Write-Progress -Activity "Search in Progress" -Status "$i% Complete:" -PercentComplete $i;
}
Ez a parancs egy For ciklus 1 és 100 közötti állapotát jeleníti meg.
A Write-Progress parancsmag tartalmaz egy állapotsorfejlécet Activity, egy állapotsort és a $i változót (a For ciklus számlálóját), amely a tevékenység relatív teljességét jelzi.
2. példa: A beágyazott ciklusok előrehaladásának megjelenítése
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
Ez a példa két beágyazott For ciklus előrehaladását jeleníti meg, amelyek mindegyikét egy folyamatjelző sáv jelöli.
A második folyamatjelző sáv Write-Progress parancsa tartalmazza az Azonosító paramétert, amely megkülönbözteti az első folyamatjelző sávtól.
A azonosító paraméter nélkül a folyamatjelző sávok egymásra lesznek kapcsolva ahelyett, hogy az egyik a másik alatt jelenne meg.
3. példa: A folyamat megjelenítése sztring keresése közben
# 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
}
Ez a parancs megjeleníti a parancs előrehaladását, hogy megtalálja a "bios" sztringet a Rendszer eseménynaplójában.
A PercentComplete paraméter értékét úgy számítja ki, hogy elosztja a $I feldolgozott események számát a $Events.count lekért események teljes számával, majd megszorozza az eredményt 100-zal.
Paraméterek
-Activity
Az állapotsor feletti címsor első szövegsorát adja meg. Ez a szöveg azt a tevékenységet írja le, amelynek előrehaladását jelenteni kell.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 1 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Completed
Azt jelzi, hogy a folyamatjelző sáv látható-e.
Ha ez a paraméter nincs megadva, Write-Progress megjeleníti a folyamat előrehaladási adatait.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-CurrentOperation
Az állapotsor alatti szövegsort adja meg. Ez a szöveg a jelenleg futó műveletet ismerteti.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Id
Egy azonosítót ad meg, amely megkülönbözteti az egyes folyamatjelző sávokat a többitől. Ezt a paramétert akkor használja, ha egyetlen parancsban több folyamatjelző sávot hoz létre. Ha a folyamatjelző sávok nem rendelkeznek különböző azonosítókkal, ahelyett, hogy egy sorozatban jelennének meg, a rendszer a rájuk helyezett elemeket felülírja.
Paramétertulajdonságok
| Típus: | Int32 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 3 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-ParentId
Az aktuális tevékenység szülőtevékenységét adja meg. Használja a -1 értéket, ha az aktuális tevékenység nem rendelkezik szülőtevékenységsel.
Paramétertulajdonságok
| Típus: | Int32 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-PercentComplete
A befejezett tevékenység százalékos arányát adja meg. Használja a -1 értéket, ha a százalékos készültség ismeretlen vagy nem alkalmazható.
Paramétertulajdonságok
| Típus: | Int32 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-SecondsRemaining
A tevékenység befejezéséig hátralévő másodpercek tervezett számát adja meg. Használja a -1 értéket, ha a hátralévő másodpercek száma ismeretlen vagy nem alkalmazható.
Paramétertulajdonságok
| Típus: | Int32 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-SourceId
Megadja a rekord forrását.
Paramétertulajdonságok
| Típus: | Int32 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Status
Az állapotsor feletti címsor második szövegsorát adja meg. Ez a szöveg a tevékenység aktuális állapotát ismerteti.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 2 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
None
Ehhez a parancsmaghoz nem csövezhet be bemenetet.
Kimenetek
None
Write-Progress nem hoz létre kimenetet.
Jegyzetek
Ha a folyamatjelző nem jelenik meg, ellenőrizze a $ProgressPreference változó értékét. Ha az érték SilentlyContinue értékre van állítva, az állapotsor nem jelenik meg. További információ a Windows PowerShell beállításairól: about_Preference_Variables.
A parancsmag paraméterei megfelelnek a System.Management.Automation.ProgressRecord osztály tulajdonságainak. További információ: ProgressRecord osztály az MSDN-kódtárban.