Cum să repetați conținutul unui fișier text în Powershell
Dacă aveți un fișier text cu date pe care doriți să le utilizați, puteți utiliza PowerShell Obține conținut pentru a enumera conținutul fișierului. Apoi utilizați bucla PowerShellForEach pentru a itera fișierul linie cu linie.
De asemenea, puteți utiliza cmdlet-ul ForEach-Object pentru a itera conținutul fișierului listat cu Obține conținut comanda.
În cele din urmă, există o Pentru fiecare Metodă în ieșirea Obține conținut comanda. De asemenea, puteți utiliza ForEach Metodă pentru a repeta conținutul unui fișier text.
Răsfoiți subiectele postărilor
- Cum să utilizați Get-Content pentru a enumera conținutul unui fișier
- Cum să utilizați PowerShell pentru fiecare buclă și să obțineți conținut pentru a repeta printr-un fișier
- Cum să utilizați PowerShell pentru fiecare obiect și să obțineți conținut pentru a repeta printr-un fișier
- Cum să utilizați metoda PowerShell ForEach() și să obțineți conținut pentru a repeta printr-un fișier
- Referințe și lecturi suplimentare
Cum să utilizați Get-Content pentru a enumera conținutul unui fișier
Înainte de a putea repeta conținutul unui fișier text cu PowerShell Pentru fiecare , trebuie să enumerați conținutul cu Obține conținut comanda.
Sintaxa generală a Obține conținut comanda este...
|_+_|The Obține conținut comanda citește conținutul unui fișier text linie cu linie. Apoi, returnează o colecție de obiecte.
Mai mult, un obiect din colecția de obiecte reprezintă o linie a conținutului din fișierul text. Acest punct este important deoarece înseamnă că putem accesa obiectele individuale returnate de Obține conținut comanda.
Acesta este ceea ce ne oferă posibilitatea de a folosi PowerShell Pentru fiecare pentru a repeta conținutul unui fișier text – rând cu rând.
O altă caracteristică importantă a Obține conținut comanda este că poate citi un număr specificat de linii de la începutul sau de la sfârșitul unui fișier text.
Pentru a începe exemplele din acest ghid, rulați comanda de mai jos:
|_+_|Iată conținutul fișierului text folosit în comandă. Comanda listează conținutul fișierului și îl salvează într-o variabilă numită fișiere .
În cele din urmă, pentru a ilustra punctul meu anterior despre citirea unui număr specificat de linii la începutul sau la sfârșitul fișierului - rulați comanda de mai jos:
|_+_|Comanda citește primele trei rânduri ale fișierului text specificat. Acest lucru este specificat de către Cap parametru.
Iată rezultatul comenzii...
poți juca jocuri wii pe switch
Alternativ, puteți returna ultimele N linii cu Coadă parametrul Obține conținut comanda.
Iată un exemplu de comandă care returnează ultimele 4 rânduri ale unui fișier...
|_+_|Și iată rezultatul comenzii...
Cum să utilizați PowerShell pentru fiecare buclă și să obțineți conținut pentru a repeta printr-un fișier
În introducerea mea în acest ghid, am menționat că primul pas pentru a repeta conținutul unui fișier text cu PowerShell este să listați conținutul acestuia.
Am mai menționat că după ce am enumerat conținutul unui fișier text cu Obține conținut comandă, puteți utiliza PowerShell Pentru fiecare pentru a repeta conținutul fișierului text.
În cele din urmă, am menționat că puteți repeta un fișier text cu PowerShell Pentru fiecare buclă, Pentru fiecare -Object Cmdlet sau Pentru fiecare Metodă .
În prima secțiune a acestui ghid, v-am arătat cum să utilizați Obține conținut comandă pentru a lista conținutul unui fișier text. Mai mult, am rulat această comandă care a salvat conținutul fișierului specificat în fișierul fișiere variabil.
|_+_|În această secțiune, vă voi învăța sintaxa lui Pentru fiecare buclă. Apoi, vă voi arăta un exemplu Powershell pentru fiecare $fișier În $fișiere – în esență, folosind Pentru fiecare buclă pentru a repeta fișierele stocate în nostru fișiere variabil.
Sa mergem!
Sintaxa PowerShell ForEach Loop
Sintaxa buclei PowerShell ForEach este...
|_+_|În sintaxă, $fișiere reprezintă o variabilă cu o listă de articole. În acest exemplu, $fișiere variabila este ieșirea lui Obține conținut comanda prezentată mai jos...
|_+_|Înapoi la sintaxa buclei PowerShell ForEach, variabila $file reprezintă fiecare element salvat în $fișiere variabil.
În plus, de fiecare dată când ForEach Loop trece printr-un ciclu, salvează unul dintre $fișiere variabilă în temporal $file variabil. Apoi, folosește această variabilă salvată temporar în paranteza de comandă {} din ForEach.
Powershell pentru fiecare $fișier în $fișiere Exemplu
În ultima subsecțiune, v-am arătat sintaxa buclei ForEach ca...
|_+_|De asemenea, am explicat că în fiecare ciclu al buclei Powershell ForEach, acesta salvează unul dintre obiectele salvate în $fișiere variabilă într-o variabilă temporală numită $file .
În această secțiune, voi folosi acest principiu pentru a repeta conținutul fișierului text salvat în $fișiere variabil. Apoi, în partea de comandă a buclei ForEach, voi folosi Nou-Articol comandă pentru a crea un folder cu elementele salvate în variabila temporală, $file .
Iată comanda care face treaba...
|_+_|Înainte de a rula comanda, iată o captură de ecran a folderului D:PS-TutorialForEachEx
Pentru a rula scriptul, copiați-l într-un document nou în PowerShel ISE. Apoi, executați scriptul făcând clic pe pictograma evidențiată.
Odată ce am rulat comanda, folderele sunt create în D:PS-TutorialForEachEx :
În cazul în care ați uitat, acestea sunt aceleași elemente listate în fișierul meu text original!
În esență, bucla PowerShell ForEach a repetat conținutul fișierului text (returnat de Obține conținut comanda). Apoi, a folosit rezultatele pentru a crea un nou folder...
Cum să utilizați PowerShell pentru fiecare obiect și să obțineți conținut pentru a repeta printr-un fișier
În ultima secțiune, v-am arătat cum să utilizați bucla PowerShell ForEach pentru a repeta conținutul fișierului text returnat de Obține conținut comanda.
În această secțiune, vă voi arăta cum să utilizați cmdlet-ul ForEach-Object pentru a efectua aceeași sarcină. Dar mai întâi, să începem cu sintaxa comenzii ForEach-Object.
Sintaxa comenzii PowerShell ForEach-Object
În scopuri practice, sintaxa comenzii PowerShell ForEach-Object este...
|_+_|PowerShell ForEach-Object preia valorile obiectelor dintr-o conductă și rulează comanda specificată în blocul de comandă {} din ForEach-Object.
Spre deosebire de PowerShell Pentru fiecare Buclă în care, în fiecare ciclu, un obiect este salvat într-o variabilă temporală specificată – în PowerShell Pentru fiecare-obiect , obiectul este salvat într-un obiect automat temporal în variabila curentă a conductei, $_.
În sfârșit, PowerShell Pentru fiecare-obiect folosește variabila automată, $_ ca intrare pentru a rula comanda în blocul de comandă {}.
Mai multe în următoarea subsecțiune...
avast a găsit elemente de registru rupte
Powershell ForEach-Object $_ În $fișiere Exemplu
În acest exemplu, voi folosi conținutul fișierului salvat în fișierul $fișiere variabilă, pentru a crea foldere. Exemplul este similar cu ceea ce am făcut în Pentru fiecare Secțiune buclă.
Cu toate acestea, în loc să folosiți Pentru fiecare Loop, vom folosi Pentru fiecare-obiect Cmdlet.
Înainte de a continua, totuși, să ne uităm la captura de ecran a fișierului text original.
De asemenea, aici este scriptul care a salvat conținutul fișierului în $fișiere variabil.
|_+_|Acum că ne-am împrospătat mințile despre fișierul text original, să vedem cum să folosim fișierul în PowerShell Pentru fiecare-obiect comanda.
Iată scriptul care creează foldere cu conținutul fișierului text:
|_+_| În acest script, vreau să creez folderele într-un folder diferit, D:PS-TutorialForEach-ObjectEx . Pentru a confirma că folderul este gol înainte de a rula scriptul, iată captura de ecran...
Pentru a rula scriptul, copiați-l în PowerShell ISE și rulați-l.
După rularea scriptului, noi foldere (cu numele fișierelor din fișierul text) sunt acum create în D:PS-TutorialForEach-ObjectEx .
Cum să utilizați metoda PowerShell ForEach() și să obțineți conținut pentru a repeta printr-un fișier
Până acum, acest ghid a descris cum să enumerați conținutul unui fișier text cu comanda Get-Content. Am abordat, de asemenea, cum să repetam conținutul unui fișier text cu bucla PowerShell ForEach și Cdlet-ul ForEach-Object.
În această secțiune, veți învăța cum să repetați conținutul unui fișier text cu metoda PowerShell ForEach. Ca și în cazul celorlalte secțiuni, voi începe această secțiune cu sintaxa metodei PowerShell ForEach.
Sintaxa PowerShell ForEach() Metodă Comanda
Sintaxa comenzii metodei PowerShell ForEach() este...
|_+_|Ca toate PowerShell Metode , pentru a accesa ForEach Metodă , introduceți un punct după obiect, urmat de cuvânt Pentru fiecare .
Apoi Pentru fiecare , introduceți o paranteză de deschidere, (. În continuare, introduceți un bloc de comandă {} – comenzile sunt executate în acest bloc.
În cele din urmă, închideți ForEach Metodă bloc cu suport de închidere, ).
Ca și comanda ForEach-Object, ForEach Metodă folosește obiectul automat temporal în variabila curentă a conductei, $_.În următoarea subsecțiune, veți vedea cum să utilizați ForEach Metodă .
Powershell ForEach() $_ În $fișiere Exemplu
Scriptul din această secțiune accesează fișierul Pentru fiecare Metodă în $fișiere variabilă – variabila creată cu această comandă...
|_+_|Iată scriptul pe care îl folosește Pentru fiecare Metodă pentru a repeta conținutul fișierului text, salvat în $fișiere variabil. Apoi, creează un folder cu fiecare articol.
|_+_|În acest exemplu, voi crea folderele din cale, D:PS-TutorialForEachMethodEx . Încă o dată, pentru a confirma că folderul este gol înainte de a rula scriptul de mai sus, iată o captură de ecran a folderului...
Ca și celelalte două scripturi, pentru a rula acest script copiați-l în PowerShell ISE.
ecranul Google Chrome pâlpâie
Odată ce am rulat scriptul, acesta a creat folderele folosind informațiile din fișierul text.
Aia este! Versiunea noastră actualizată a Cum se repetă conținutul unui fișier text în Powershell.
Ați găsit acest ghid deoarece ați căutat foreach în fișierul Powershell sau varianta acestuia. Sper că am putut să-ți răspund la întrebare.
Daca ti-am raspuns la intrebare, te rog sa votezi da la întrebarea A fost utilă această postare de mai jos.
Alternativ, puteți pune o întrebare, lăsa un comentariu sau oferi mai multe feedback cu ajutorul formularului Lăsați un răspuns aflat la sfârșitul acestei pagini.
În cele din urmă, pentru mai multe zone PowerShell tech S, vizitați pagina noastră de ghid pentru Windows PowerShell. De asemenea, s-ar putea să găsească foarte utilă pagina noastră de lucru de acasă.
Acest articol a fost complet rescris și actualizat cu exemple noi.Referințe și lecturi suplimentare
- Obține conținut
- Pentru fiecare-obiect
- despre_Foreach
- PowerShell ForEach: Sintaxă, Parametri, Exemple
- Cele mai utile 18 comenzi Powershell pentru administratorii Windows


