Ce face Get-ChildItem
Get-ChildItem întoarce elementele dintr-o locație: fișierele și subfolderele unui folder, dar și cheile din registry sau certificatele din Cert:, pentru că lucrează cu orice provider. Fără -Path listează folderul curent. Rezultatul nu e text, ci obiecte FileInfo și DirectoryInfo, pe care le poți trimite mai departe la Where-Object, Sort-Object sau Remove-Item.
Afișarea implicită are coloanele Mode (literele d folder, a arhivă, r doar citire, h ascuns, s sistem, l link), LastWriteTime, Length (octeți) și Name. Formatul datei depinde de setările regionale; exemplele de aici folosesc en-US. Pe macOS și Linux, din PowerShell 7.1, tabelul are coloane în stil Unix (UnixMode, User, Group, Size).
Aliasuri: dir și gci pe toate sistemele, ls doar pe Windows (pe macOS și Linux, ls pornește comanda nativă). -Depth a apărut în PowerShell 5.0, iar -FollowSymlink în PowerShell 6.0.
Parametri
| Parametru | Descriere |
|---|---|
-Path |
Locația (sau locațiile) de listat; acceptă wildcard-uri (C:\Proiecte\*.txt). Implicit, folderul curent. |
-Filter |
Un singur tipar cu * și ?, aplicat direct de sistemul de fișiere; e mai rapid decât -Include. |
-Include / -Exclude |
Tipare (mai multe, cu *, ?, []) aplicate de PowerShell după enumerare. -Include cere * la finalul căii sau -Recurse. |
-Recurse |
Coboară în toate subfolderele. |
-Depth |
Limitează câte niveluri de subfoldere parcurge (implică recursivitate). |
-File / -Directory |
Doar fișiere, respectiv doar foldere (aliasuri -af și -ad). |
-Force |
Include elementele ascunse și de sistem. |
-Name |
Întoarce doar numele, ca șiruri de caractere. |
-LiteralPath |
Calea folosită exact cum e scrisă, fără wildcard-uri (utilă pentru nume cu [ ]). |
Ce returnează
Obiecte System.IO.FileInfo și System.IO.DirectoryInfo în sistemul de fișiere; cu -Name, șiruri String.
Exemple
Exemplul 1: Conținutul unui folder
Listarea simplă arată folderele (Mode d–-) și fișierele, cu dimensiunea în octeți.
Get-ChildItem -Path C:\Proiecte
Ieșire în terminal
Directory: C:\Proiecte
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 10/20/2026 9:14 AM facturi
d---- 10/24/2026 4:02 PM rapoarte
-a--- 10/23/2026 11:30 AM 18432 buget-2026.xlsx
-a--- 10/25/2026 8:45 AM 1247 note.txt
Exemplul 2: Toate facturile PDF, inclusiv din subfoldere
-Filter alege doar fișierele .pdf, -Recurse intră în subfoldere, iar -File exclude folderele. Rezultatul are câte un bloc Directory pentru fiecare folder.
Get-ChildItem -Path C:\Proiecte\facturi -Filter *.pdf -Recurse -File
Ieșire în terminal
Directory: C:\Proiecte\facturi
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/20/2026 9:14 AM 84210 factura-ciorna.pdf
Directory: C:\Proiecte\facturi\2025
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 12/18/2025 2:40 PM 91544 factura-2025-118.pdf
-a--- 12/29/2025 10:05 AM 88730 factura-2025-121.pdf
Directory: C:\Proiecte\facturi\2026
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/15/2026 1:22 PM 90118 factura-2026-087.pdf
Exemplul 3: Doar numele subfolderelor
Cu -Directory și -Name primești doar numele folderelor, ca text simplu, bun de folosit într-o buclă.
Get-ChildItem -Path C:\Proiecte -Directory -Name
Ieșire în terminal
facturi
rapoarte
Greșeli frecvente
Get-ChildItem -Path C:\Proiecte -Include *.txtnu întoarce nimic:-Includeare nevoie de*la finalul căii (C:\Proiecte\*) sau de-Recurse. Pentru un singur tipar,-Filter *.txte mai simplu și mai rapid.- Fișierele ascunse (de exemplu
.gitignorecu atributul Hidden pe Windows) nu apar fără-Force. - Pe macOS și Linux,
lsnu e alias pentruGet-ChildItem: rulează comanda nativă și întoarce text, nu obiecte. FoloseșteGet-ChildItem,gcisaudirîn scripturi portabile. - Combinația
-Pathcu-Recursecaută ultimul element al căii în toată ierarhia dacă nu e un subfolder direct. Pentru rezultate previzibile, dă folderul în-LiteralPathși tiparul în-Filter.
Comenzi înrudite
Set-Location: Schimbă folderul curent (cd); Get-Location îl afișează, iar Push-Location și Pop-Location salvează și refac locațiile pe o stivă.Test-Path: Verifică dacă o cale există și întoarce True sau False; poate cere să fie fișier sau folder și să fie mai nouă decât o dată.Where-Object: Filtrează obiectele din pipeline și le lasă să treacă doar pe cele care îndeplinesc o condiție.Sort-Object: Sortează obiectele după una sau mai multe proprietăți, crescător sau descrescător, opțional doar primele N.Remove-Item: Șterge fișiere și foldere (și alte elemente, ca chei de registry); ștergerea este definitivă, nu în Coșul de reciclare.Comenzi CMD și echivalentul PowerShell: Ce folosești în PowerShell în locul comenzilor CMD obișnuite (dir, cd, copy, del, ipconfig, ping, tasklist, taskkill, set).