Format-Table
A kimenet formázása táblázatként.
Syntax
All
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-RepeatHeader]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Description
A Format-Table parancsmag táblázatként formázja a parancs kimenetét, az egyes oszlopokban az objektum kijelölt tulajdonságaival. Az objektumtípus határozza meg az egyes oszlopokban megjelenő alapértelmezett elrendezést és tulajdonságokat. Az Tulajdonság paraméter használatával kiválaszthatja a megjeleníteni kívánt tulajdonságokat.
A PowerShell alapértelmezett formázókkal határozza meg, hogyan jelenjenek meg az objektumtípusok.
.ps1xml fájlok használatával egyéni nézeteket hozhat létre, amelyek egy megadott tulajdonságokkal rendelkező kimeneti táblát jelenítenek meg. Az egyéni nézet létrehozása után a Nézet paraméterrel jelenítheti meg a táblázatot az egyéni nézettel. További információ a nézetekről: about_Format.ps1xml.
A kivonattáblával számított tulajdonságokat adhat hozzá egy objektumhoz a megjelenítés előtt, és megadhatja a tábla oszlopfejléceit. Számított tulajdonság hozzáadásához használja a Tulajdonság vagy GroupBy paramétert. További információkért a kivonattáblákról lásd: about_Hash_Tables.
Példák
1. példa: PowerShell-gazdagép formázása
Ez a példa egy táblázatban jeleníti meg a PowerShell gazdagépprogramjának adatait.
Get-Host | Format-Table -AutoSize
A Get-Host parancsmag lekéri System.Management.Automation.Internal.Host.InternalHost objektumokat, amelyek a gazdagépet képviselik. A rendszer elküldi az objektumokat a folyamatnak a Format-Table, és megjelenik egy táblában. Az Automatikus méretezés paraméter az oszlopszélességeket a csonkolás minimalizálása érdekében módosítja.
2. példa: Folyamatok formázása BasePriority szerint
Ebben a példában a folyamatok olyan csoportokban jelennek meg, amelyek azonos BasePriority tulajdonságot rendelkeznek.
Get-Process | Sort-Object -Property BasePriority |
Format-Table -GroupBy BasePriority -Wrap
A Get-Process parancsmag olyan objektumokat kap, amelyek a számítógép minden egyes folyamatát képviselik, és elküldi őket a folyamatba Sort-Object. Az objektumok a BasePriority tulajdonságuk sorrendjében vannak rendezve.
A rendszer a rendezett objektumokat a folyamaton keresztül küldi el a Format-Table. A GroupBy paraméter a BasePriority tulajdonság értéke alapján csoportokba rendezi a folyamatadatokat. A Wrap paraméter biztosítja, hogy az adatok ne csonkoljanak.
3. példa: Folyamatok formázása kezdő dátum szerint
Ez a példa a számítógépen futó folyamatokkal kapcsolatos információkat jeleníti meg. Az objektumok rendezve vannak, és Format-Table nézetben csoportosítják az objektumokat a kezdő dátumuk szerint.
Get-Process | Sort-Object StartTime | Format-Table -View StartTime
Get-Process lekéri a System.Diagnostics.Process objektumokat, amelyek a számítógépen futó folyamatokat jelölik. A rendszer elküldi az objektumokat a folyamatnak Sort-Object, és a rendszer a StartTime tulajdonság alapján rendezi őket.
A rendszer a rendezett objektumokat a folyamaton keresztül küldi el a Format-Table. A View paraméter határozza meg a System.Diagnostics.Process objektumok PowerShell-DotNetTypes.format.ps1xml fájljában definiált StartTime nézetet. A StartTime nézet az egyes folyamatok kezdési idejét rövid dátummá alakítja, majd a folyamatokat a kezdési dátum szerint csoportosítja.
A DotNetTypes.format.ps1xml fájl prioritási nézetet tartalmaz a folyamatokhoz. Létrehozhat saját format.ps1xml fájlokat testre szabott nézetekkel.
4. példa: Egyéni nézet használata táblakimenethez
Ebben a példában egy egyéni nézet egy könyvtár tartalmát jeleníti meg. Az egyéni nézet hozzáadja a CreationTime oszlopot a System.IO.DirectoryInfo és System.IO.FileInfoGet-ChildItemáltal létrehozott objektumok táblakimenetéhez.
A példában szereplő egyéni nézet a PowerShell-forráskódban definiált nézetből lett létrehozva. További információ a nézetekről és a példanézet létrehozásához használt kódról: about_Format.ps1xml.
Get-ChildItem -Path C:\Test | Format-Table -View MyGciView
Directory: C:\Test
Mode LastWriteTime CreationTime Length Name
---- ------------- ------------ ------ ----
d----- 11/4/2019 15:54 9/24/2019 15:54 Archives
d----- 8/27/2019 14:22 8/27/2019 14:22 Drawings
d----- 10/23/2019 09:38 2/25/2019 09:38 Files
-a---- 11/7/2019 11:07 11/7/2019 11:07 11345 Alias.txt
-a---- 2/27/2019 15:15 2/27/2019 15:15 258 alias_out.txt
-a---- 2/27/2019 15:16 2/27/2019 15:16 258 alias_out2.txt
Get-ChildItem lekéri az aktuális könyvtár tartalmát, C:\Test. A System.IO.DirectoryInfo és System.IO.FileInfo objektumokat küldi le a folyamat.
Format-Table a Nézet paraméter használatával adja meg a CreationTime oszlopot tartalmazó egyéni nézetet MyGciView.
A Format-Table alapértelmezett Get-ChildItem kimenete nem tartalmazza a CreationTime oszlopot.
5. példa: Tulajdonságok használata táblakimenethez
Ez a példa a Tulajdonság paraméterrel jeleníti meg a számítógép összes szolgáltatását egy kétoszlopos táblában, amely a Név és DependServicestulajdonságokat jeleníti meg.
Get-Service | Format-Table -Property Name, DependentServices
Get-Service lekéri az összes szolgáltatást a számítógépen, és elküldi a System.ServiceProcess.ServiceController objektumokat a folyamatba.
Format-Table a Tulajdonság paraméter használatával adja meg, hogy a Name és DependentServices tulajdonságok megjelenjenek a táblában.
Name és DependentServices az objektumtípus két tulajdonsága. Az összes tulajdonság megtekintése: Get-Service | Get-Member -MemberType Properties
6. példa: Folyamat formázása és futási idejének kiszámítása
Ez a példa egy táblázatot jelenít meg a helyi számítógép jegyzettömbjének folyamatnevével és teljes futási idejével folyamatokhoz. A teljes futási idő kiszámítása úgy történik, hogy kivonja az egyes folyamatok kezdési idejét az aktuális időből.
Get-Process notepad |
Format-Table ProcessName, @{
Label = "TotalRunningTime"
Expression = {(Get-Date) - $_.StartTime}
}
ProcessName TotalRunningTime
----------- ----------------
notepad 03:20:00.2751767
notepad 00:00:16.7710520
Get-Process lekéri a helyi számítógép jegyzettömbjét folyamatokat, és elküldi az objektumokat a folyamatnak.
Format-Table két oszlopból áll: ProcessName, Get-Process tulajdonság és TotalRunningTime, számított tulajdonság.
A TotalRunningTime tulajdonságot egy két kulcsból, Címke és Kifejezéstartalmazó kivonattábla adja meg. A Címke kulcs határozza meg a tulajdonság nevét. A Kifejezés kulcs határozza meg a számítást. A kifejezés lekéri az egyes folyamatobjektumok StartTime tulajdonságát, és kivonja azt egy Get-Date parancs eredményéből, amely az aktuális dátumot és időpontot kapja.
7. példa: Jegyzettömb-folyamatok formázása
Ez a példa Get-CimInstance használ a helyi számítógépen található összes jegyzettömb folyamat futási idejének lekéréséhez. A Get-CimInstance a ComputerName paraméterrel is lekérheti a távoli számítógépekről származó információkat.
$Processes = Get-CimInstance -Class Win32_Process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{
Label = "Total Running Time"
Expression = {(Get-Date) - $_.CreationDate}
}
ProcessName Total Running Time
----------- ------------------
notepad.exe 03:39:39.6260693
notepad.exe 00:19:56.1376922
Get-CimInstance lekéri a WMI Win32_Process osztály példányait, amelyek a helyi számítógép notepad.exenevű folyamatait ismertetik. A folyamatobjektumok a $Processes változóban vannak tárolva.
Az $Processes változó folyamatobjektumait a rendszer elküldi a folyamatnak a Format-Table, amely megjeleníti a ProcessName tulajdonságot és egy új számított tulajdonságot, teljes futási idő.
A parancs a Címke kulcshoz rendeli az új számított tulajdonság nevét, Teljes futási idő. A Kifejezés kulcs szkriptblokkja kiszámítja, hogy mennyi ideig fut a folyamat, ha kivonja a folyamatok létrehozási dátumát az aktuális dátumból. A Get-Date parancsmag az aktuális dátumot kapja meg. A létrehozási dátum az aktuális dátumból lesz kivonva. Az eredmény az teljes futási időértéke.
8. példa: Formátumhibák elhárítása
Az alábbi példák a DisplayError vagy ShowError paraméterek kifejezéssel való hozzáadásának eredményeit mutatják be.
Get-Date | Format-Table DayOfWeek, { $_ / $null } -DisplayError
DayOfWeek $_ / $null
--------- ------------
Wednesday #ERR
Get-Date | Format-Table DayOfWeek, { $_ / $null } -ShowError
DayOfWeek $_ / $null
--------- ------------
Wednesday
InvalidArgument: Failed to evaluate expression " $_ / $null ".
Paraméterek
-AutoSize
Azt jelzi, hogy a parancsmag az adatok szélessége alapján módosítja az oszlopok méretét és számát. Alapértelmezés szerint az oszlop méretét és számát a nézet határozza meg.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| 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 |
-DisplayError
Azt jelzi, hogy a parancsmag hibákat jelenít meg a parancssorban. Ez a paraméter hibakeresési segédként használható, ha kifejezéseket formáz egy Format-Table parancsban, és hibaelhárítást kell végeznie a kifejezéseken.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| 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 |
-Expand
Megadja a gyűjteményobjektum és a gyűjtemény objektumainak formátumát. Ez a paraméter az ICollection(System.Collections) felületet támogató objektumok formázására szolgál. Az alapértelmezett érték az EnumOnly
- EnumOnly: Megjeleníti a gyűjtemény objektumainak tulajdonságait.
- CoreOnly: Megjeleníti a gyűjteményobjektum tulajdonságait.
- Mindkét: Megjeleníti a gyűjteményobjektum tulajdonságait és a gyűjtemény objektumainak tulajdonságait.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Elfogadott értékek: | CoreOnly, EnumOnly, Both |
| 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 |
-Force
Azt jelzi, hogy a parancsmag az összes hibainformáció megjelenítésére irányítja a parancsmagot. Használja a DisplayError vagy ShowError paraméterrel. Alapértelmezés szerint, amikor egy hibaobjektumot írnak a hiba- vagy megjelenítési folyamokba, csak bizonyos hibainformációk jelennek meg.
Bizonyos .NET-típusok formázásához is szükséges. További információkért lásd a Megjegyzések szakaszt.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| 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 |
-GroupBy
Egy tulajdonságérték alapján külön táblák rendezett kimenetét adja meg. A GroupBy használatával például külön táblákban listázhatja a szolgáltatásokat az állapotuk alapján.
Adjon meg egy kifejezést vagy tulajdonságot. A GroupBy paraméter az objektumok rendezésére számít.
Használja a Sort-Object parancsmagot, mielőtt Format-Table használva csoportosítja az objektumokat.
A GroupBy paraméter értéke új számított tulajdonság lehet. A számított tulajdonság lehet szkriptblokk vagy kivonattábla. Az érvényes kulcs-érték párok a következők:
- Név (vagy címke) –
<string> - Kifejezés –
<string>vagy<script block> - FormatString –
<string>
További információkért lásd a about_Calculated_Propertiesrészt.
Paramétertulajdonságok
| Típus: | Object |
| 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 |
-HideTableHeaders
Kihagyja az oszlopfejléceket a táblából.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| 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 |
-InputObject
Megadja a formázandó objektumokat. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.
Paramétertulajdonságok
| Típus: | PSObject |
| 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: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Property
Megadja a megjelenítésben megjelenő objektumtulajdonságokat és azok megjelenési sorrendjét. Írjon be egy vagy több tulajdonságnevet vesszővel elválasztva, vagy használjon kivonattáblát egy számított tulajdonság megjelenítéséhez. Helyettesítő karakterek használata engedélyezett.
Ha kihagyja ezt a paramétert, a megjelenítésben megjelenő tulajdonságok az első objektum tulajdonságaitól függnek. Ha például az első objektum PropertyA és PropertyB, de az azt követő objektumok PropertyA, PropertyBés PropertyC, akkor csak a PropertyA és PropertyB fejlécek jelennek meg.
A tulajdonság paraméter nem kötelező. A tulajdonság és paraméterek megtekintése ugyanabban a parancsban nem használható.
A tulajdonság paraméter értéke új számított tulajdonság lehet. A számított tulajdonság lehet szkriptblokk vagy kivonattábla. Az érvényes kulcs-érték párok a következők:
- Név (vagy címke)
<string> - Kifejezés –
<string>vagy<script block> - FormatString –
<string> - A szélességnek -
<int32>- nagyobbnak kell lennie, mint0 - Igazítás – az érték lehet
Left,CentervagyRight
További információkért lásd a about_Calculated_Propertiesrészt.
Paramétertulajdonságok
| Típus: | Object[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 0 |
| 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 |
-RepeatHeader
Megismétli a táblázat fejlécének megjelenítését minden képernyő megtelte után. Az ismétlődő fejléc akkor hasznos, ha a kimenetet egy lapozóra, például less vagy more vagy lapozásra irányítja egy képernyőolvasóval.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| 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 |
-ShowError
Ez a paraméter hibákat küld a folyamaton keresztül. Ez a paraméter hibakeresési segédként használható, ha kifejezéseket formáz egy Format-Table parancsban, és hibaelhárítást kell végeznie a kifejezéseken.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| 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 |
-View
A PowerShell 6-tól kezdődően az alapértelmezett nézetek a PowerShell C# forráskódban vannak definiálva. A *.format.ps1xml PowerShell 5.1- és korábbi verzióiból származó fájlok nem léteznek a PowerShell 6-os és újabb verzióiban.
A Nézet paraméter lehetővé teszi a táblázat alternatív formátumának vagy egyéni nézetének megadását. Használhatja az alapértelmezett PowerShell-nézeteket, vagy létrehozhat egyéni nézeteket. Az egyéni nézet létrehozásáról további információt a about_Format.ps1xmlcímű témakörben talál.
A Nézet paraméter alternatív és egyéni nézeteinek táblaformátumot kell használniuk, ellenkező esetben Format-Table sikertelen. Ha a másik nézet lista, használja a Format-List parancsmagot. Ha a másik nézet nem lista vagy tábla, használja a Format-Custom parancsmagot.
A tulajdonság és paraméterek megtekintése ugyanabban a parancsban nem használható.
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 |
-Wrap
A következő sor oszlopszélességét meghaladó szöveget jelenít meg. Alapértelmezés szerint az oszlopszélességen túli szöveg csonkolt.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| 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 |
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
PSObject
A parancsmaghoz bármilyen objektumot csövezhet.
Kimenetek
Microsoft.PowerShell.Commands.Internal.Format
Ez a parancsmag a táblázatot képviselő formázási objektumokat adja vissza.
Jegyzetek
A PowerShell a következő aliasokat tartalmazza Format-Table:
- Minden platform:
ft
A PowerShell 7.2 új funkciókat vezetett be a kimenet színezéséhez. A színek a $PSStyle automatikus változóval kezelhetők. A $PSStyle.Formatting.TableHeader tulajdonság határozza meg a Format-Tableáltal megjelenített táblázat fejlécéhez használt színt. A beállítással kapcsolatos további információkért lásd: about_ANSI_Terminals.
Ha a Format-Table-t a tulajdonság paraméterrel szeretné használni, a Force paramétert az alábbi feltételek valamelyike mellett kell szerepeltetnie:
A bemeneti objektumok általában sávon kívül vannak formázva a
ToString()metódus használatával. Ez a[string]és a .NET primitív típusokra vonatkozik, amelyek a beépített numerikus típusok, például[int],[long]és mások szuperhalmazai.A bemeneti objektumok nem rendelkeznek nyilvános tulajdonságokkal.
A bemeneti objektumok azon burkolótípusok példányai, amelyeket a PowerShell a Success kimeneti adatfolyamtól eltérő kimeneti streamekhez használ. Ez csak akkor érvényes, ha ezeket a burkolótípusokat a sikeres kimeneti streambe küldi a rendszer, amely megköveteli, hogy azokat olyan gyakori paraméterekkel rögzítse, mint például ErrorVariable először, vagy olyan átirányítást használ, mint a
*>&1.