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-ChildItemlé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-ChildItemleké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-TableA 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-TableA 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-Processleké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-CimInstanceleké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

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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.
Type:String
Accepted values:CoreOnly, EnumOnly, Both
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HideTableHeaders

Kihagyja az oszlopfejléceket a táblából.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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, mint 0
  • Igazítás – az érték lehet Left, Centervagy Right

További információ: about_Calculated_Properties.

Type:Object[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-View

A PowerShell 6-tól kezdődően az alapértelmezett nézetek a PowerShell-forráskódban C# 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.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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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 Format-Tabletartalmazza:

  • Minden platform:
    • ft

A PowerShell 7.2 új funkciókat vezetett be a kimenet színezéséhez. A színek az automatikus változóval $PSStyle kezelhetők. A $PSStyle.Formatting.TableHeader tulajdonság határozza meg a táblázat fejlécéhez használt színt Format-Table. A beállítással kapcsolatos további információkért lásd: about_ANSI_Terminals.

Ha a Tulajdonság paraméterrel szeretné használniFormat-Table, a Force paramétert az alábbi feltételek bármelyike mellett kell megadnia: