Format-Table
A kimenet formázása táblázatként.
Syntax
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 egy parancs kimenetét táblázatként formázja, 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. A 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. Fájlok használatával .ps1xml
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 megjelenítheti 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 a GroupBy paramétert. További információ a kivonattáblákról: 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 a gazdagépet képviselő System.Management.Automation.Internal.Host.InternalHost objektumokat. A rendszer elküldi az objektumokat a folyamatnak Format-Table
, és megjelenik egy táblában. Az AutoSize paraméter a csonkolás minimalizálása érdekében módosítja az oszlopszélességeket.
2. példa: Folyamatok formázása BasePriority szerint
Ebben a példában a folyamatok ugyanazon BasePriority tulajdonságú csoportokban jelennek meg.
Get-Process | Sort-Object -Property BasePriority | Format-Table -GroupBy BasePriority -Wrap
A Get-Process
parancsmag olyan objektumokat kap, amelyek a számítógépen minden folyamatot képviselnek, és elküldi őket a folyamatnak Sort-Object
. Az objektumok a BasePriority tulajdonság sorrendje szerint vannak rendezve.
A rendszer a rendezett objektumokat elküldi a folyamatnak 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
egy 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 számítógépen futó folyamatokat képviselő System.Diagnostics.Process objektumokat. A rendszer elküldi az objektumokat a folyamatnakSort-Object
, és a StartTime tulajdonság alapján rendezi őket.
A rendszer a rendezett objektumokat elküldi a folyamatnak Format-Table
. A Nézet paraméter a System.Diagnostics.Process objektumok PowerShell-fájljában DotNetTypes.format.ps1xml
definiált StartTime nézetet adja meg. 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 testreszabott 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 a System.IO.FileInfo által Get-ChildItem
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. A nézetekről és a példanézet létrehozásához használt kódról további információt a about_Format.ps1xml című cikkben talál.
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 a System.IO.FileInfo objektumokat a rendszer elküldi a folyamaton.
Format-Table
A View paraméter használatával adja meg a CreationTime oszlopot tartalmazó egyéni nézet mygciview-t.
Az alapértelmezett Format-Table
kimenet Get-ChildItem
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 Name és a DependentServices tulajdonságot jeleníti meg.
Get-Service | Format-Table -Property Name, DependentServices
Get-Service
lekéri a számítógép összes szolgáltatását, és elküldi a System.ServiceProcess.ServiceController objektumokat a folyamatnak. Format-Table
A Tulajdonság paraméter használatával adja meg, hogy a Név és a DependentServices tulajdonságok megjelenjenek a táblában.
A név és a 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ömbfolyamatainak folyamatnevével és teljes futási idejével. 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ének összes folyamatát, és elküldi az objektumokat a folyamatba. Format-Table
egy táblát jelenít meg két oszlopból: ProcessName, tulajdonság Get-Process
és TotalRunningTime, számított tulajdonság.
A TotalRunningTime tulajdonságot egy kivonattábla adja meg, amely két kulcsból áll: Címke és kifejezés. A Címke kulcs a tulajdonság nevét adja meg. A kifejezéskulcs határozza meg a számítást. A kifejezés lekéri az egyes folyamatobjektumok StartTime tulajdonságát, és kivonja egy Get-Date
parancs eredményéből, amely az aktuális dátumot és időt kapja.
7. példa: Jegyzettömb-folyamatok formázása
Ez a példa a helyi számítógép összes jegyzettömbfolyamatának futási idejét használjaGet-CimInstance
. A ComputerName paraméterrel információt kérhet Get-CimInstance
le távoli számítógépekről.
$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 az notepad.exe nevű helyi számítógép összes folyamatát ismertetik. A folyamatobjektumok a $Processes
változóban vannak tárolva.
A változó folyamatobjektumait a $Processes
rendszer elküldi a folyamatnak Format-Table
, amely megjeleníti a ProcessName tulajdonságot és egy új számított tulajdonságot, a Teljes futási időt.
A parancs hozzárendeli az új számított tulajdonság, a Teljes futási idő nevet a Címkekulcshoz . A Kifejezéskulcs 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 a 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
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (11/27/2019 12:53:41:PSObject) [], RuntimeException
+ FullyQualifiedErrorId : mshExpressionError
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.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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. A paraméter elfogadható értékei a következők:
- EnumOnly: Megjeleníti a gyűjtemény objektumainak tulajdonságait.
- CoreOnly: Megjeleníti a gyűjteményobjektum tulajdonságait.
- Mindkettő: Megjeleníti a gyűjteményobjektum tulajdonságait és a gyűjteményben lévő objektumok tulajdonságait.
Típus: | String |
Elfogadott értékek: | CoreOnly, EnumOnly, Both |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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 a ShowError paraméterrel. Alapértelmezés szerint, ha egy hibaobjektumot ír a hiba vagy a streamek jelennek meg, csak néhány hibainformáció jelenik meg.
Bizonyos .NET-típusok formázásához is szükséges. További információkért lásd a Jegyzetek szakaszt.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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 azt várja, hogy az objektumok rendezve legyenek.
Használja a Sort-Object
parancsmagot az objektumok csoportosítása előtt Format-Table
.
A GroupBy paraméter értéke lehet egy új számított tulajdonság. 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ó: about_Calculated_Properties.
Típus: | Object |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-HideTableHeaders
Kihagyja az oszlopfejléceket a táblából.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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.
Típus: | PSObject |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | 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 tulajdonsága és TulajdonságB tulajdonsága van, de az azt követő objektumok tulajdonságA, PropertyB és PropertyC tulajdonságokkal rendelkeznek, akkor csak a PropertyA és a PropertyB fejlécek jelennek meg.
A Tulajdonság paraméter megadása nem kötelező. Ugyanabban a parancsban nem használhatja a tulajdonság- és nézetparamétereket.
A Tulajdonság paraméter értéke lehet egy új számított tulajdonság. 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>
- Szélesség –
<int32>
nagyobbnak kell lennie, mint0
- Igazítás – az érték lehet
Left
,Center
vagyRight
További információ: about_Calculated_Properties.
Típus: | Object[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-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 kimenet egy lapozóra, például less
lapozásra vagy more
lapozásra kerül egy képernyőolvasóval.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-View
A PowerShell 5.1-ben és a korábbi verziókban az alapértelmezett nézetek a fájlban $PSHOME
tárolt fájlokban *.format.ps1xml
vannak definiálva.
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.ps1xml című témakörben talál.
A Nézet paraméter alternatív és egyéni nézeteinek a táblaformátumot kell használniuk, Format-Table
ellenkező esetben nem sikerül. 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.
Ugyanabban a parancsban nem használhatja a tulajdonság- és nézetparamétereket.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | 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.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
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 Windows PowerShell a következő aliasokat Format-Table
tartalmazza:
ft
Ha a Tulajdonság paraméterrel szeretné használniFormat-Table
, a Force paramétert az alábbi feltételek bármelyike mellett kell megadnia:
A bemeneti objektumok általában sávon kívül vannak formázva a
ToString()
metódus használatával. Ez a .NET primitív típusokra[string]
vonatkozik, amelyek a beépített numerikus típusok, például[int]
a ,[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 gyakran használt paraméterekkel ( például ErrorVariable ) rögzítse, vagy olyan átirányítást használjon, mint a
*>&1
.