Tento zápis se bude týkat průvodce pro procházení adresáře pomocí PowerShellu.
Jak procházet soubory v adresáři pomocí PowerShellu?
PowerShell může procházet soubory v adresáři pomocí „ Pro každého() “smyčka. Smyčka „Foreach()“ se používá ke zpracování všech položek najednou, jako je přejmenování nebo kopírování více souborů. Zatímco „ Foreach-Object() ” cmdlet odkazuje na jednu položku po druhé ve smyčce. Zpracovává vždy jednu položku.
Příklad 1: Procházení souborů pomocí „Foreach-Object“ ve skriptu PowerShell
V tomto příkladu budeme procházet soubory v adresáři pomocí PowerShellu a vytiskneme názvy souborů dostupných v tomto adresáři:
Get-ChildItem 'C:\Doc' |
Foreach-Object {
$_ .Celé jméno
}
Podle výše uvedeného kódu:
- Nejprve přidejte „ Get-ChildItem ” vedle cesty k adresáři, abyste získali soubory dostupné v tomto adresáři.
- Poté použijte „ | potrubí pro přenos výstupu do Foreach-Object() ” cmdlet pro práci s každou položkou v kolekci vstupních objektů.
- Přidat ' $_.Celé jméno ” cmdlet pro zobrazení názvu načtených souborů z adresáře:
Lze pozorovat, že soubory v adresáři byly zobrazeny v konzole PowerShell pomocí „ Foreach-Object() “smyčka.
Příklad 2: Procházení souborů pomocí „Foreach-Object“ s „-Recurse“ ve skriptu PowerShell
Nyní procházejte podadresáře pomocí PowerShellu „ - rekurze ' parametr:
Lze pozorovat, že soubory z podadresářů byly také zobrazeny v konzole PowerShell.
Příklad 3: Procházení souborů pomocí „Foreach-Object“ v konzole PowerShell
Chcete-li provést stejnou operaci, nejprve se podívejme na dostupné soubory před odstraněním vybraného souboru v příslušném adresáři pomocí „ Get-ChildItem ” cmdlet vedle cesty k adresáři:
> Get-ChildItem 'C:\Doc'
Dostupné soubory v adresáři byly zobrazeny v konzole PowerShell.
Nyní smažte soubory pomocí „ .txt ” rozšíření pomocí “ Foreach-Object() smyčka ” v PowerShellu:
Get-ChildItem 'C:\Doc' * .ps1 |Foreach-Object {
Odebrat položku $_ .Celé jméno
}
Podle výše uvedeného kódu:
- Nejprve přidejte „ Get-ChildItem ” cmdlet následovaný cestou k adresáři a znakem “ *.ps1 ” pro výběr souborů s příponou “ .ps1 “ rozšíření.
- Poté použijte „ | potrubí pro přenos výstupu do Foreach-Object() “smyčka.
- Uvnitř ' Foreach-Object() “, přidejte „ Odebrat položku ” cmdlet k odstranění souborů načtených pomocí “ $_.Celé jméno ' vlastnictví:
Nyní ověřte, zda byly soubory smazány nebo ne, tím, že soubory dostanete do adresáře:
> Get-ChildItem 'C:\Doc'
Jak můžete vidět, soubory s příponou „ .txt ” byly odstraněny pomocí smyčky v PowerShellu.
Závěr
Procházení souborů v adresáři “ Foreach-Object() ” smyčka se používá v prostředí PowerShell. Zpracovává a odkazuje na jednu položku po druhé ze sbírky položek nebo objektů. Navíc pomáhá mazat, přejmenovávat nebo kopírovat více souborů. Tento zápis pokryl úplný průvodce procházením souborů v adresáři pomocí PowerShellu.