• 11/22/2019
  • 5 minut číst
    • j
    • B
    • m

PowerShell má sadu rutin, které vám umožní kontrolovat, jak vlastnosti jsou zobrazeny forparticular objekty. Názvy všech cmdletů začínají slovesem Format., Umožňují vám vybratkteré vlastnosti chcete zobrazit.

Get-Command -Verb Format -Module Microsoft.PowerShell.Utility

Tento článek popisuje, Format-Wide Format-List Format-Table rutin.

každý typ objektu v PowerShellu má výchozí vlastnosti, které se používají, když neurčíte, které vlastnosti se mají zobrazit. Každý cmdlet také používá stejný parametr vlastnosti k určení, kterývlastnosti, které chcete zobrazit., Protože Format-Wide ukazuje pouze jedinou vlastnost, jeho Propertyparameter trvá jen jednu hodnotu, ale majetek parametry Format-List Format-Tablepřijmout seznam názvů vlastností.

v tomto příkladu výchozí výstup Get-Process cmdlet ukazuje, že máme spuštěny dvě instanceinternet Explorer.,

Get-Process -Name iexplore

výchozí formát pro zpracování objektů zobrazuje vlastnosti, které jsou uvedeny zde:

 NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------ ----- ----- ------ -- -- ----------- 32 25.52 10.25 13.11 12808 1 iexplore 52 11.46 26.46 3.55 21748 1 iexplore

Použití Formátu-Široký pro Jeden-Položka Výstup

Format-Wide rutiny, ve výchozím nastavení se zobrazí pouze výchozí vlastnost objektu., Informace spojené s každou objekt se zobrazí v jednom sloupci.

Get-Command -Verb Format | Format-Wide
Format-Custom Format-HexFormat-List Format-TableFormat-Wide

můžete také určit jiné než výchozí vlastnost:

Get-Command -Verb Format | Format-Wide -Property Noun
Custom HexList TableWide

Ovládání Formát-Širokoúhlý Displej s Sloupec

Format-Wide cmdlet, můžete zobrazit pouze jednu vlastnost v čase. To je užitečné pro zobrazení velkých seznamů ve více sloupcích.,

Get-Command -Verb Format | Format-Wide -Property Noun -Column 3
Custom Hex ListTable Wide

Pomocí Formát-List pro Zobrazení Seznamu

Format-List cmdlet zobrazí objekt v podobě výpis, s každou nemovitost labeledand zobrazí na samostatném řádku:

Get-Process -Name iexplore | Format-List
Id : 12808Handles : 578CPU : 13.140625SI : 1Name : iexploreId : 21748Handles : 641CPU : 3.59375SI : 1Name : iexplore

můžete určit, jak mnoho vlastností, jak chcete:

Get-Process -Name iexplore | Format-List -Property ProcessName,FileVersion,StartTime,Id

jak Podrobné Informace Pomocí Formátu-Seznam se zástupnými Znaky

Format-List cmdlet umožňuje používat zástupné znaky jako hodnota jeho Majetku parametr., Zobrazí se vám podrobné informace. Objekty často obsahují více informací, než potřebujete, což je důvod, proč PowerShell ve výchozím nastavení nezobrazuje všechny hodnoty vlastností. Chcete-li zobrazit všechny vlastnosti objektu, použijte příkaz Format-List -Property *. Následující příkaz generuje více než 60lines výstupů pro jeden proces:

Get-Process -Name iexplore | Format-List -Property *

i když Format-List příkaz je užitečný pro zobrazení detailu, pokud chcete přehled outputthat zahrnuje mnoho položek, jednodušší tabulkové zobrazení je často více užitečné.,

Použití Formátu-Tabulky pro Tabulkový Výstup

Pokud použijete Format-Table cmdlet žádný majetek jména uvedeno formátovat výstupGet-Process příkaz, dostanete přesně stejný výstup jako vy bez Format rutiny. Bydefault, PowerShell zobrazuje procesní objekty v tabulkovém formátu.

Get-Service -Name win* | Format-Table

Zlepšení Formát-Tabulka Výstup (AutoSize)

i když tabulkové zobrazení je užitečné pro zobrazování spoustu informací, to může být obtížné vykládat pra vid l, jestli displej je příliš úzký pro data., V předchozím příkladu je výstuppřekládané. Pokud zadáte parametr AutoSize při spuštění příkazu Format-Table, PowerShell vypočítá šířky sloupců na základě skutečných zobrazených dat. To dělá sloupkyčitelný.

Get-Service -Name win* | Format-Table -AutoSize

Format-Table cmdlet může Data ještě zkrátit, ale zkrátí se pouze na konci obrazovky. Vlastnosti, jiné než poslední zobrazené, jsou uvedeny tolik velikosti, kolik potřebují, aby se jejich nejdelší datový prvek zobrazoval správně.,

Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -AutoSize

příkazFormat-Table předpokládá, že vlastnosti jsou uvedeny v pořadí podle důležitosti. Snaží se tedy plně zobrazit vlastnosti nejbližší začátku. Pokud příkaz Format-Table nemůže zobrazit všechny vlastnosti, odstraní některé sloupce z displeje. Toto chování můžete vidět vdependentservices property předchozí příklad.

Balení Formát-Tabulka Výstup ve Sloupcích (Zábal)

můžete vynutit zdlouhavé Format-Table data zabalit do její zobrazení sloupce pomocí Wrapparameter., Pomocí Zábal parametr nemusí dělat to, co očekáváte, protože to usesdefault nastavení, pokud nechcete zadat také AutoSize:

Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -Wrap

Pomocí Zábal parametr sám o sobě neznamená, zpomalit zpracování velmi mnoho. Nicméně, použitíautosize pro formátování rekurzivního seznamu souborů velké adresářové struktury může trvat dlouhou dobua před zobrazením prvních výstupních položek použijte spoustu paměti.

Pokud se nebojíte zatížení systému, AutoSize funguje dobře s parametrem Wrap.,Počáteční sloupce stále používají tolik šířky, kolik je potřeba k zobrazení položek na jednom řádku, ale v případě potřeby je poslední sloupec zabalen.

Poznámka

některé sloupce se nemusí zobrazit, když nejprve zadáte nejširší sloupce. Pro dosažení nejlepších výsledků nejprve zadejte nejmenší datové prvky.

v následujícím příkladu nejprve specifikujeme nejširší vlastnosti.

Get-Process -Name iexplore | Format-Table -Wrap -AutoSize -Property FileVersion,Path,Name,Id

I s balení, poslední sloupec Id je vynechán:

Organizování Tabulka Výstup (-Seskupení)

Další užitečný parametr pro tabulkové výstupní kontrola je Seskupení., Delší tabulkové výpisy vpartikulární může být těžké porovnat. Parametr GroupBy seskupuje výstup založený na vlastnostihodnota. Například můžeme seskupit služby podle StartType pro snadnější kontrolu, vynechání hodnoty theStartType ze seznamu vlastností:

Get-Service -Name win* | Sort-Object StartType | Format-Table -GroupBy StartType