- 11/22/2019
- 5 minute pentru a citi
-
- j
- s
- B
- m
PowerShell are un set de cmdlet-uri care vă permit să controlați modul în care sunt afișate proprietățile forparticular obiecte. Numele tuturor cmdleturilor încep cu verbul Format
., Acestea vă permit să selectațicare proprietăți doriți să afișați.
Get-Command -Verb Format -Module Microsoft.PowerShell.Utility
Acest articol descrie Format-Wide
, Format-List
și Format-Table
cmdlets.
fiecare tip de obiect din PowerShell are proprietăți implicite care sunt utilizate atunci când nu specificați ce proprietăți să afișați. Fiecare cmdlet utilizează, de asemenea, același parametru de proprietate pentru a specifica ceproprietăți doriți să afișați., Pentru că Format-Wide
arată doar o singură proprietate, sa Propertyparameter nevoie de doar o singură valoare, dar proprietatea parametrii Format-List
și Format-Table
accepta o listă de nume de proprietăți.
în acest exemplu, ieșirea implicită a Get-Process
cmdlet arată că avem două instanțe deinternet Explorer care rulează.,
Get-Process -Name iexplore
formatul implicit pentru Procesul de obiecte afișează proprietățile prezentate aici:
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
Folosind Format-Lat pentru un Singur Element de Ieșire
Format-Wide
cmdlet, în mod implicit, se afișează numai implicit proprietate a unui obiect., Informațiile asociate cu fiecare obiect este afișat într-o singură coloană:
Get-Command -Verb Format | Format-Wide
Format-Custom Format-HexFormat-List Format-TableFormat-Wide
puteți specifica, de asemenea, un non-default proprietate:
Get-Command -Verb Format | Format-Wide -Property Noun
Custom HexList TableWide
Controlul Format-Afișaj Lat cu Coloana
Cu Format-Wide
cmdlet-ului, puteți afișa doar o singură proprietate la un moment dat. Acest lucru îl face util pentru afișarea listelor mari în mai multe coloane.,
Get-Command -Verb Format | Format-Wide -Property Noun -Column 3
Custom Hex ListTable Wide
Folosind Format-o Listă pentru o Vizualizare Listă
Format-List
cmdlet-ul afișează un obiect în formă de listă, cu fiecare proprietate labeledand afișate pe o linie separată:
Get-Process -Name iexplore | Format-List
Id : 12808Handles : 578CPU : 13.140625SI : 1Name : iexploreId : 21748Handles : 641CPU : 3.59375SI : 1Name : iexplore
puteți specifica cât de multe proprietăți, după cum doriți:
Get-Process -Name iexplore | Format-List -Property ProcessName,FileVersion,StartTime,Id
Obținerea de Informații Detaliate cu Ajutorul Format-Lista cu Metacaractere
Format-List
cmdlet-ul vă permite să utilizați un wildcard ca valoarea Proprietății sale parametru., Thislets vă afișa informații detaliate. Adesea, obiectele includ mai multe informații decât aveți nevoie, careeste motivul pentru care PowerShell nu afișează în mod implicit toate valorile proprietății. Pentru a afișa toate proprietățile unui obiect, utilizați comanda Format-List -Property *
. Următoarea comandă generează peste 60lines de ieșire pentru un singur proces:
Get-Process -Name iexplore | Format-List -Property *
Desi Format-List
comandă este utilă pentru a arăta detalii, dacă doriți o imagine de ansamblu a outputthat include mai multe elemente, un simplu tabel, vizualizare este de multe ori mai util.,
Folosind Format-Table pentru Tabele de Ieșire
Dacă utilizați Format-Table
cmdlet-ul cu nici un nume de proprietăți specificate la formatul de ieșire alGet-Process
comandă, veți obține exact același rezultat ca și tine, fără un Format
cmdlet. Bydefault, PowerShell afișează obiecte de proces într-un format tabelar.
Get-Service -Name win* | Format-Table
Îmbunătățirea Format-Table de Ieșire (AutoSize)
Deși o vizualizare tabel este util pentru afișarea o mulțime de informații, poate fi dificil tointerpret dacă afișajul este prea îngust pentru date., În exemplul anterior, ieșirea estestruncat. Dacă specificați parametrul AutoSize când executați comanda Format-Table
, PowerShell calculează lățimile coloanelor pe baza datelor reale afișate. Acest lucru face ca coloanelecitibil.
Get-Service -Name win* | Format-Table -AutoSize
Format-Table
cmdlet ar mai putea trunchia de date, dar numai trunchiază la sfârșitul thescreen. Proprietățile, altele decât ultima afișată, sunt date la fel de mult ca au nevoie pentru elementul lorlongest date pentru a afișa corect.,
Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -AutoSize
comanda Format-Table
presupune că proprietățile sunt listate în ordinea importanței. Deci încearcă să afișeze pe deplin proprietățile cele mai apropiate de început. Dacă comanda Format-Table
nu poate afișatoate proprietățile, elimină unele coloane de pe afișaj. Puteți vedea acest comportament înproprietatea dependentservices exemplul anterior.
format ambalaj – ieșire tabel în coloane (Wrap)
puteți forța de lungă durată Format-Table
date să-și încheie în coloana de afișare utilizând Wrapparameter., Folosind Folie parametru nu poate face ceea ce te astepti, deoarece usesdefault setări dacă nu specificați, de asemenea, AutoSize:
Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -Wrap
Folosind Folie parametru de sine nu încetini prelucrare foarte mult. Cu toate acestea, utilizareaautosize pentru a formata o listă de fișiere recursive a unei structuri de directoare mari poate dura mult timpși utilizați o mulțime de memorie înainte de a afișa primele elemente de ieșire.dacă nu sunteți preocupat de încărcarea sistemului, atunci AutoSize funcționează bine cu parametrul Wrap.,Coloanele inițiale utilizează în continuare lățimea necesară pentru a afișa elementele pe o singură linie, dar coloana finală este înfășurată, dacă este necesar.este posibil ca unele coloane să nu fie afișate atunci când specificați mai întâi cele mai largi coloane. Pentru cele mai bune rezultate,specificați mai întâi cele mai mici elemente de date.
în exemplul următor, specificăm mai întâi cele mai largi proprietăți.
Get-Process -Name iexplore | Format-Table -Wrap -AutoSize -Property FileVersion,Path,Name,Id
Chiar si cu ambalaj, final Id coloana este omis:
Organizarea Mesei de Ieșire (-GroupBy)
un Alt parametru util pentru tabelară comandă de ieșire este GroupBy., Listări tabulare mai lungi înîn special poate fi greu de comparat. Grupul de parametri grupează ieșirea bazată pe o propertyvalue. De exemplu, putem grupa servicii de StartType pentru a fi mai ușor de inspecție, omițând theStartType valoare de listare de proprietate:
Get-Service -Name win* | Sort-Object StartType | Format-Table -GroupBy StartType