Hvordan gjenta innholdet i en tekstfil i Powershell

18. desember 2021 43837 Visninger PowerShell for hver syntaks

Hvis du har en tekstfil med data du ønsker å bruke, kan du bruke PowerShell Hent-innhold for å liste innholdet i filen. Bruk deretter PowerShellForEach-løkken til å iterere gjennom filen linje for linje.





Du kan også bruke ForEach-Object Cmdlet til å iterere gjennom innholdet i filen som er oppført med Hent-innhold kommando.



Til slutt er det en For hver Metode i utgangen av Hent-innhold kommando. Du kan også bruke ForEach Metode for å iterere innholdet i en tekstfil.

Bla gjennom innleggsemner



Hvordan bruke Get-Content for å liste innholdet i en fil

Hvordan bruke Get-Content for å liste innholdet i en fil

Før du kan iterere innholdet i en tekstfil med PowerShell For hver , må du liste innholdet med Hent-innhold kommando.



Den generelle syntaksen til the Hent-innhold kommandoen er...

|_+_|

De Hent-innhold kommandoen leser innholdet i en tekstfil linje for linje. Deretter returnerer den en samling objekter.



Dessuten representerer et objekt i samlingen av objekter en linje av innholdet i tekstfilen. Dette punktet er viktig fordi det betyr at vi kan få tilgang til de individuelle objektene som returneres av Hent-innhold kommando.



Det er dette som gir oss muligheten til å bruke PowerShell For hver å iterere innholdet i en tekstfil – linje for linje.

Et annet viktig trekk ved Hent-innhold kommandoen er at den kan lese et spesifisert antall linjer fra begynnelsen eller slutten av en tekstfil.

For å starte eksempler i denne veiledningen, kjør kommandoen nedenfor:

|_+_|

Her er innholdet i tekstfilen som brukes i kommandoen. Kommandoen viser innholdet i filen og lagrer den i en variabel kalt filer .

Hvordan gjenta innholdet i en tekstfil i Powershell

Til slutt, for å illustrere mitt forrige poeng om å lese et spesifisert antall linjer i begynnelsen eller slutten av filen – kjør kommandoen nedenfor:

|_+_|

Kommandoen leser de tre første linjene i den angitte tekstfilen. Dette er spesifisert av Hode parameter.

Her er resultatet av kommandoen...

Alternativt kan du returnere de siste N linjene med Hale parameteren til Hent-innhold kommando.

Her er en eksempelkommando som returnerer de siste 4 linjene i en fil...

|_+_|

Og her er resultatet av kommandoen...

Hvordan gjenta innholdet i en tekstfil i Powershell

Hvordan bruke PowerShell for hver sløyfe og få innhold for å iterere gjennom en fil

Hvordan bruke PowerShell for hver sløyfe og få innhold for å iterere gjennom en fil

I min introduksjon til denne veiledningen nevnte jeg at det første trinnet for å iterere innholdet i en tekstfil med PowerShell er å liste innholdet.

Jeg nevnte også at etter å ha listet opp innholdet i en tekstfil med Hent-innhold kommandoen, kan du bruke PowerShell For hver for å iterere innholdet i tekstfilen.

Til slutt nevnte jeg at du kan iterere en tekstfil med PowerShell For hver Løkke, For hver -Object Cmdlet, eller For hver Metode .

I den første delen av denne veiledningen viste jeg deg hvordan du bruker Hent-innhold kommando for å vise innholdet i en tekstfil. Dessuten kjørte jeg denne kommandoen som lagret innholdet i den angitte filen i filer variabel.

|_+_|

I denne delen vil jeg lære deg syntaksen til For hver Løkke. Deretter vil jeg vise deg et eksempel på Powershell for hver $fil i $filer – i hovedsak ved å bruke For hver loop for å iterere filer som er lagret i vår filer variabel.

La oss rulle!

Syntaks for PowerShell ForEach Loop

Syntaksen til PowerShell ForEach Loop er...

|_+_|

I syntaksen, $filer representerer en variabel med en liste over elementer. I dette eksemplet er $filer variabel er utgangen av Hent-innhold kommando vist nedenfor...

|_+_|

Tilbake til syntaksen til PowerShell ForEach Loop, variabelen $fil representerer hvert element som er lagret i $filer variabel.

Videre, hver gang ForEach Loop går gjennom en syklus, lagrer den en av $filer variabel i det tidsmessige $fil variabel. Deretter bruker den denne midlertidig lagrede variabelen i kommandobraketten {} i ForEach.

Powershell ForHver $fil i $filer Eksempel

I den siste underdelen viste jeg deg syntaksen til ForEach Loop som ...

|_+_|

Jeg forklarte også at i hver syklus av Powershell ForEach-løkken, lagrer den ett av objektene som er lagret i $filer variabel i en tidsvariabel kalt $fil .

I denne delen vil jeg bruke dette prinsippet til å iterere innholdet i tekstfilen som er lagret i $filer variabel. Deretter, i kommandodelen av ForEach-løkken, vil jeg bruke Ny gjenstand kommando for å lage en mappe med elementene lagret i den tidsmessige variabelen, $fil .

Her er kommandoen som gjør jobben...

|_+_|

Før jeg kjører kommandoen, her er et skjermbilde av mappen D:PS-TutorialForEachEx

For å kjøre skriptet, kopier det til et nytt dokument i PowerShel ISE. Kjør deretter skriptet ved å klikke på det uthevede ikonet.

Når jeg kjørte kommandoen, opprettes mappene i D:PS-TutorialForEachEx :

I tilfelle du hadde glemt det, er dette de samme elementene som er oppført i min originale tekstfil!

Hvordan gjenta innholdet i en tekstfil i Powershell

I hovedsak gjentok PowerShell ForEach-løkken innholdet i tekstfilen (returnert av Hent-innhold kommando). Deretter brukte du resultatene til å opprette en ny mappe ...

Hvordan bruke PowerShell for hvert objekt og få innhold for å iterere gjennom en fil

Hvordan bruke PowerShell for hvert objekt og få innhold for å iterere gjennom en fil

I den siste delen viste jeg deg hvordan du bruker PowerShell ForEach-løkken til å iterere innholdet i tekstfilen som returneres av Hent-innhold kommando.

I denne delen vil jeg vise deg hvordan du bruker ForEach-Object Cmdlet til å utføre den samme oppgaven. Men først, la oss starte med syntaksen til ForEach-Object-kommandoen.

Syntaks for PowerShell ForEach-Object-kommando

For praktiske formål er syntaksen til PowerShell ForEach-Object-kommandoen...

|_+_|

PowerShell ForEach-Object tar verdiene til objekter fra en pipeline og kjører kommandoen spesifisert i kommandoblokken {} til ForEach-Object.

I motsetning til i PowerShell For hver Sløyfe der, i hver syklus, et objekt lagres i en spesifisert tidsvariabel – i PowerShell For hvert objekt , er objektet lagret i et temporalt automatisk objekt i gjeldende pipeline-variabel, $_.

Til slutt, PowerShell For hvert objekt bruker den automatiske variabelen $_ som input for å kjøre kommandoen i kommandoen {}-blokken.

Mer i neste underseksjon...

Powershell ForEach-Object $_ I $files Eksempel

I dette eksemplet vil jeg bruke innholdet i filen som er lagret i $filer variabel, for å lage mapper. Eksemplet ligner på det vi gjorde i For hver Løkkeseksjon.

Men i stedet for å bruke For hver Loop, vi skal bruke For hvert objekt Cmdlet.

Før jeg fortsetter, la oss se på skjermbildet av den originale tekstfilen.

Her er også skriptet som lagret innholdet i filen til $filer variabel.

|_+_|

Nå som vi har frisket opp tankene våre om den originale tekstfilen, la oss se hvordan du bruker filen i PowerShell For hvert objekt kommando.

Her er skriptet som lager mapper med innholdet i tekstfilen:

|_+_| I dette skriptet vil jeg lage mappene i en annen mappe, D:PS-TutorialForEach-ObjectEx . For å bekrefte at mappen er tom før jeg kjører skriptet, her er skjermbildet ... Hvordan bruke PowerShell for hvert objekt og få innhold for å iterere gjennom en fil

For å kjøre skriptet, kopier det til PowerShell ISE og kjør det.

Etter å ha kjørt skriptet, opprettes det nå nye mapper (med navnene på filene i tekstfilen). D:PS-TutorialForEach-ObjectEx .

Hvordan bruke PowerShell ForEach()-metoden og få innhold for å iterere gjennom en fil

Hvordan bruke PowerShell ForEach()-metoden og få innhold for å iterere gjennom en fil

Hvordan bruke PowerShell ForEach()-metoden og få innhold for å iterere gjennom en fil

Så langt har denne veiledningen dekket hvordan du viser innholdet i en tekstfil med Get-Content-kommandoen. Jeg har også dekket hvordan du itererer innholdet i en tekstfil med PowerShell ForEach-løkken og ForEach-Object Cdlet.

I denne delen lærer du hvordan du gjentar innholdet i en tekstfil med PowerShell ForEach-metoden. Som med de andre delene, vil jeg starte denne delen med syntaksen til PowerShell ForEach-metoden.

ares-veiviseren kan ikke koble til serveren

Syntaks for PowerShell ForEach() Metode Kommando

Syntaksen til PowerShell ForEach()-metodekommandoen er...

|_+_|

Som alle PowerShell Metoder , for å få tilgang til ForEach Metode , skriv inn et punktum etter objektet, etterfulgt av ordet For hver .

Så etter For hver , skriv inn en åpningsparentes, (. Deretter skriver du inn en kommandoblokk {} – kommandoene dine utføres innenfor denne blokken.

Til slutt lukker du ForEach Metode blokk med lukkebeslag, ).

Som ForEach-Object-kommandoen, ForEach Metode bruker det temporale automatiske objektet i gjeldende pipeline-variabel, $_.

I neste underavsnitt vil du se hvordan du bruker ForEach Metode .

Powershell ForEach() $_ I $filer Eksempel

Skriptet i denne delen gir tilgang til For hver Metode i $filer variabel – variabelen opprettet med denne kommandoen...

|_+_|

Her er skriptet som bruker For hver Metode for å iterere innholdet i tekstfilen, lagret i $filer variabel. Deretter oppretter du en mappe med hvert element.

|_+_|

I dette eksemplet skal jeg lage mappene i banen, D:PS-TutorialForEachMethodEx . Nok en gang, for å bekrefte at mappen er tom før jeg kjører skriptet ovenfor, her er et skjermbilde av mappen ...

Som de to andre skriptene, for å kjøre dette skriptet, kopier det til PowerShell ISE.

Når jeg kjørte skriptet, opprettet det mappene ved å bruke informasjonen fra tekstfilen.

Det er det! Vår oppdaterte versjon av Hvordan gjenta innholdet i en tekstfil i Powershell.

Du fant denne veiledningen fordi du søkte etter foreach i fil powershell eller varianten av den. Jeg håper jeg har klart å svare på spørsmålet ditt.

Hvis jeg svarte på spørsmålet ditt, vennligst stem Ja til spørsmålet Var dette innlegget nyttig nedenfor.

Alternativt kan du stille et spørsmål, legge igjen en kommentar eller gi mer tilbakemelding med Legg igjen et svar-skjemaet på slutten av denne siden.

Til slutt, for flere PowerShell tech S Zones, besøk vår Windows PowerShell How-To guide-side. Du kan også finne vår Work from Home-side veldig nyttig.

Denne artikkelen ble fullstendig omskrevet og oppdatert med nye eksempler.

Referanser og videre lesning

  1. Hent-innhold
  2. For hvert objekt
  3. about_Foreach
  4. PowerShell ForEach: Syntaks, parametere, eksempler
  5. 18 mest nyttige Powershell-kommandoer for Windows-administratorer