Format-List în PowerShell

Formatare și conversie Windows PowerShell 1.0

Afișează fiecare proprietate a obiectelor pe un rând separat, sub forma „Nume : valoare”.

Sintaxă
Format-List [[-Property] <Object[]>] [-GroupBy <Object>] [-View <string>]

Ce face Format-List

Format-List (alias fl) afișează obiectele ca listă: câte o proprietate pe rând, cu numele aliniate și valoarea după :. Între obiecte apare un rând gol. Pentru că fiecare valoare are tot rândul la dispoziție, textele lungi sunt mai puțin trunchiate decât în tabel.

Format-List * (sau -Property *) arată toate proprietățile, inclusiv pe cele ascunse de vizualizarea implicită, ceea ce e util când explorezi un obiect necunoscut (de exemplu un proces sau un fișier). Ca la Format-Table, poți adăuga proprietăți calculate cu Label / Expression / FormatString.

Ieșirea este tot obiecte de formatare: Format-List se pune la finalul pipeline-ului, doar pentru afișare.

Parametri

Parametru Descriere
-Property Proprietățile afișate; * pentru toate; acceptă proprietăți calculate.
-GroupBy Grupează lista după o proprietate (datele trebuie sortate înainte).
-View Folosește o vizualizare de tip listă definită pentru tipul respectiv.
-Force Necesar în unele cazuri speciale, de exemplu pentru a lista proprietățile unui șir sau ale unei înregistrări de eroare.

Ce returnează

Obiecte de formatare folosite doar pentru afișare.

Exemple

Exemplul 1: Un obiect afișat ca listă

Numele proprietăților sunt aliniate după cel mai lung.

[pscustomobject]@{ Nume = 'Ana'; Oras = 'Iași'; Nota = 9 } | Format-List

Ieșire în terminal

Nume : Ana
Oras : Iași
Nota : 9

Exemplul 2: Doar câteva proprietăți, pentru mai multe obiecte

Fiecare obiect are blocul lui, separat printr-un rând gol.

$utilizatori = @(
    [pscustomobject]@{ Nume = 'Ana'; Email = 'ana@exemplu.ro'; Rol = 'admin' }
    [pscustomobject]@{ Nume = 'Mihai'; Email = 'mihai@exemplu.ro'; Rol = 'editor' }
)
$utilizatori | Format-List -Property Nume, Email

Ieșire în terminal

Nume  : Ana
Email : ana@exemplu.ro

Nume  : Mihai
Email : mihai@exemplu.ro

Exemplul 3: Proprietate calculată: media notelor

Media se calculează la afișare din tabloul Note al fiecărui elev.

$elevi = @(
    [pscustomobject]@{ Nume = 'Ana'; Note = 9, 10, 8 }
    [pscustomobject]@{ Nume = 'Mihai'; Note = 7, 8, 6 }
)
$elevi | Format-List Nume, @{ Label = 'Medie'; Expression = { ($_.Note | Measure-Object -Average).Average } }

Ieșire în terminal

Nume  : Ana
Medie : 9

Nume  : Mihai
Medie : 7

Greșeli frecvente

  • Să crezi că un obiect are doar proprietățile afișate implicit: multe tipuri (procese, fișiere, servicii) au zeci de proprietăți. Vezi-le cu Format-List * sau Get-Member.
  • Salvarea rezultatului în variabilă ($x = $obj | Format-List) pentru prelucrare ulterioară: variabila conține obiecte de formatare, nu datele. Păstrează obiectul și formatează doar la afișare.
  • Pentru fișiere text cu aceeași ieșire, Format-List | Out-File e corect; Format-List | Export-Csv nu, pentru că exportă obiectele de formatare.

Comenzi înrudite

  • Format-Table: Afișează obiectele ca tabel, cu coloanele alese de tine, inclusiv coloane calculate.
  • Get-Member: Arată tipul obiectelor dintr-un pipeline și ce proprietăți și metode au, ca să știi ce poți selecta, filtra sau apela.
  • Select-Object: Alege doar anumite proprietăți ale obiectelor, adaugă proprietăți calculate sau păstrează primele, ultimele ori unicele elemente.
  • Out-File: Salvează într-un fișier ieșirea unei comenzi, exact cum apare în consolă; operatorii de redirecționare > și >> fac același lucru.
  • Measure-Object: Numără obiectele și calculează suma, media, minimul și maximul unei proprietăți, sau numără rândurile, cuvintele și caracterele unui text.