Megosztás a következőn keresztül:


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. 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.
  • 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, mint 0
  • Igazítás – az érték lehet Left, Centervagy Right

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: