Denne oppskriften vil dekke en veiledning for å gå gjennom i en katalog med PowerShell.
Hvordan gå gjennom filer i en katalog ved hjelp av PowerShell?
PowerShell kan gå gjennom filer i katalogen ved å bruke ' For hver() ' Løkke. 'Foreach()'-løkken brukes til å behandle alle elementene samtidig, for eksempel å gi nytt navn eller kopiere flere filer. Mens ' Foreach-Object() ” cmdlet refererer til ett element om gangen i en løkke. Den behandler ett element om gangen.
Eksempel 1: Gå gjennom filer ved å bruke 'Foreach-Object' i PowerShell-skript
I dette eksemplet vil vi gå gjennom filer i en katalog ved hjelp av PowerShell og skrive ut navnet på filene som er tilgjengelige i den katalogen:
Get-ChildItem 'C:\Doc' |
Foreach-Objekt {
$_ .Fullt navn
}
I henhold til koden ovenfor:
- Først legger du til ' Get-ChildItem ” ved siden av katalogbanen for å få filene tilgjengelig i den katalogen.
- Etter det bruker du ' | ' rørledning for å overføre utdata til ' Foreach-Object() ” cmdlet for å operere mot hvert element i samlingen av inngangsobjekter.
- Legg til ' $_.Fullnavn ' cmdlet for å vise navnet på de hentede filene fra katalogen:
Det kan observeres at filene i katalogen har blitt vist i PowerShell-konsollen ved å bruke ' Foreach-Object() ' Løkke.
Eksempel 2: Gå gjennom filer ved å bruke 'Foreach-Object' med '-Recurse' i PowerShell-skript
Gå nå gjennom underkatalogene ved å bruke PowerShells ' -gjentakelse ' parameter:
Det kan observeres at filene fra underkatalogene også har blitt vist i PowerShell-konsollen.
Eksempel 3: Gå gjennom filer ved å bruke 'Foreach-Object' i PowerShell-konsollen
For å utføre den samme operasjonen, la oss først og fremst se de tilgjengelige filene før du sletter den valgte i den respektive katalogen ved å bruke ' Get-ChildItem ' cmdlet ved siden av katalogbanen:
> Get-ChildItem 'C:\Doc'
De tilgjengelige filene i katalogen har blitt vist i PowerShell-konsollen.
La oss nå slette filene med ' .tekst ' utvidelse ved å bruke ' Foreach-Object() ”-løkke i PowerShell:
Get-ChildItem 'C:\Doc' * .ps1 |Foreach-Objekt {
Fjerne gjenstand $_ .Fullt navn
}
I henhold til koden ovenfor:
- Først legger du til ' Get-ChildItem ' cmdlet etterfulgt av katalogbanen og ' *.ps1 ' utvidelse for å velge filene med ' .ps1 ' Utvidelse.
- Etter det bruker du ' | ' rørledning for å overføre utdata til ' Foreach-Object() ' Løkke.
- Inne i ' Foreach-Object() '-løkke, legg til ' Fjerne gjenstand ' cmdlet for å fjerne filene hentet av ' $_.Fullnavn ' eiendom:
La oss nå verifisere om filene ble slettet eller ikke ved å få filene i katalogen:
> Get-ChildItem 'C:\Doc'
Som du kan se at filene med ' .tekst ”-utvidelsen er fjernet ved hjelp av en løkke i PowerShell.
Konklusjon
Å gå gjennom filene i en katalog ' Foreach-Object() ”-løkke brukes i PowerShell. Den behandler og refererer til ett element om gangen fra en samling av gjenstander eller gjenstander. Dessuten hjelper det å slette, gi nytt navn eller kopiere flere filer. Denne oppskriften har dekket en komplett guide for å gå gjennom filene i en katalog ved hjelp av PowerShell.