Ovaj zapis će pokriti vodič za kretanje kroz direktorij pomoću PowerShell-a.
Kako proći kroz datoteke u direktoriju pomoću PowerShell-a?
PowerShell može kružiti kroz datoteke u direktoriju koristeći ' Za svakoga() ' petlja. Petlja 'Foreach()' koristi se za obradu svih stavki odjednom, kao što je preimenovanje ili kopiranje više datoteka. Dok ' Foreach-Object() ” cmdlet se odnosi na jednu po jednu stavku u petlji. Obrađuje jednu po jednu stavku.
Primjer 1: Pregledajte datoteke pomoću 'Foreach-Object' u PowerShell skripti
U ovom primjeru, proći ćemo kroz datoteke u direktoriju pomoću PowerShell-a i ispisati nazive datoteka dostupnih unutar tog direktorija:
Get-ChildItem 'C:\Doc' |
Foreach-Object {
$_ .Puno ime
}
Prema gornjem kodu:
- Prvo dodajte ' Get-ChildItem ” uz put direktorija da biste dobili datoteke dostupne unutar tog direktorija.
- Nakon toga upotrijebite ' | ' cjevovod za prijenos izlaza na ' Foreach-Object() ” cmdlet za rad sa svakom stavkom u zbirci ulaznih objekata.
- Dodajte ' $_.Puno ime ” cmdlet za prikaz imena dohvaćenih datoteka iz direktorija:
Može se primijetiti da su datoteke u direktoriju prikazane u PowerShell konzoli pomoću ' Foreach-Object() ' petlja.
Primjer 2: Prolaženje kroz datoteke pomoću 'Foreach-Object' s '-Recurse' u PowerShell skripti
Sada prođite kroz poddirektorije koristeći PowerShell-ov ' -povratak ” parametar:
Može se uočiti da su datoteke iz poddirektorija također prikazane u PowerShell konzoli.
Primjer 3: Pregledajte datoteke pomoću 'Foreach-Object' u PowerShell konzoli
Za izvođenje iste operacije, prije svega, pogledajmo dostupne datoteke prije brisanja odabrane u odgovarajućem direktoriju pomoću ' Get-ChildItem ” cmdlet uz stazu direktorija:
> Get-ChildItem 'C:\Doc'
Dostupne datoteke u direktoriju prikazane su na PowerShell konzoli.
Sada izbrišite datoteke s ' .txt ' proširenje pomoću ' Foreach-Object() ” petlja u PowerShell-u:
Get-ChildItem 'C:\Doc' * .ps1 |Foreach-Object {
Ukloni-stavku $_ .Puno ime
}
Prema gornjem kodu:
- Prvo dodajte ' Get-ChildItem ” cmdlet iza kojeg slijedi put direktorija i “ *.ps1 ' za odabir datoteka s ' .ps1 ” proširenje.
- Nakon toga upotrijebite ' | ' cjevovod za prijenos izlaza na ' Foreach-Object() ' petlja.
- Unutar ' Foreach-Object() ' petlja, dodajte ' Ukloni-stavku ' cmdlet za uklanjanje datoteka koje je dohvatio ' $_.Puno ime ” svojstvo:
Provjerimo sada jesu li datoteke izbrisane ili ne tako da ih unesemo u direktorij:
> Get-ChildItem 'C:\Doc'
Kao što vidite da datoteke s ' .txt ” proširenja su uklonjena pomoću petlje u PowerShell-u.
Zaključak
Za kretanje kroz datoteke u direktoriju ' Foreach-Object() ” petlja se koristi u PowerShell-u. Obrađuje i upućuje na jednu po jednu stavku iz zbirke stavki ili objekata. Štoviše, pomaže pri brisanju, preimenovanju ili kopiranju više datoteka. Ovaj zapis pokriva potpuni vodič za kretanje kroz datoteke u direktoriju pomoću PowerShell-a.