- 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-Table
př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