Szövegfájl tartalmának megismétlése Powershellben
Ha van egy szöveges fájlja a használni kívánt adatokkal, használhatja a PowerShellt Get-Content a fájl tartalmának felsorolásához. Ezután használja a PowerShellForEach ciklust a fájl soronkénti iterálásához.
A ForEach-Object parancsmagot is használhatja a Get-Content parancs.
Végül van egy Az egyes Módszer a kimenetben a Get-Content parancs. Használhatja a ForEach-et is Módszer szöveges fájl tartalmának iterálásához.
Böngésszen a bejegyzések témái között
A Windows frissítési állapota a telepítésig függ
- A Get-Content használata egy fájl tartalmának listázásához
- A PowerShell használata az egyes ciklusokhoz és a tartalom lekéréséhez a fájlon keresztüli ismétléshez
- A PowerShell használata az egyes objektumokhoz és a tartalom lekérése a fájlon keresztüli iterációhoz
- A PowerShell ForEach() metódus használata és a tartalom lekérése a fájlon keresztüli iterációhoz
- Hivatkozások és további olvasmányok
A Get-Content használata egy fájl tartalmának listázásához
Mielőtt megismételné egy szövegfájl tartalmát a PowerShell segítségével Az egyes , ki kell listáznia a tartalmat a Get-Content parancs.
Az általános szintaxis a Get-Content a parancs…
|_+_|A Get-Content parancs soronként olvassa be a szöveges fájl tartalmát. Ezután objektumok gyűjteményét adja vissza.
Ezenkívül egy objektum az objektumok gyűjteményében a szövegfájl tartalmának egy sorát képviseli. Ez a pont azért fontos, mert azt jelenti, hogy hozzáférhetünk a által visszaadott egyedi objektumokhoz Get-Content parancs.
Ez az, ami lehetővé teszi számunkra a PowerShell használatát Az egyes szöveges fájl tartalmának iterálásához – soronként.
Egy másik fontos jellemzője a Get-Content parancs az, hogy meghatározott számú sort tud olvasni egy szövegfájl elejétől vagy végétől.
Az útmutatóban szereplő példák elindításához futtassa az alábbi parancsot:
|_+_|Itt van a parancsban használt szövegfájl tartalma. A parancs kilistázza a fájl tartalmát, és elmenti egy nevű változóba fájlokat .
Végül, hogy illusztráljam az előző pontomat a megadott számú sor olvasásával kapcsolatban a fájl elején vagy végén - futtassa az alábbi parancsot:
|_+_|A parancs beolvassa a megadott szövegfájl első három sorát. Ezt határozza meg a Fej paraméter.
Íme a parancs eredménye…
Alternatív megoldásként visszaadhatja az utolsó N sort a Farok paramétere Get-Content parancs.
Íme egy példa parancs, amely egy fájl utolsó 4 sorát adja vissza…
|_+_|És itt a parancs eredménye…
A PowerShell használata az egyes ciklusokhoz és a tartalom lekéréséhez a fájlon keresztüli ismétléshez
Az útmutató bevezetőjében megemlítettem, hogy a szövegfájl tartalmának PowerShell-lel történő iterálásához az első lépés a tartalom felsorolása.
Azt is megemlítettem, hogy egy szöveges fájl tartalmának listázása után a Get-Content parancsot, használhatja a PowerShellt Az egyes a szövegfájl tartalmának iterálásához.
Végül megemlítettem, hogy szöveges fájlt is iterálhat a PowerShell-lel Az egyes hurok, Az egyes -Object Cmdlet, vagy a Az egyes Módszer .
Az útmutató első részében megmutattam, hogyan kell használni a Get-Content parancs a szöveges fájl tartalmának listázásához. Ezenkívül lefuttattam ezt a parancsot, amely elmentette a megadott fájl tartalmát a fájlokat változó.
|_+_|Ebben a részben megtanítom a szintaxisát Az egyes hurok. Akkor mutatok egy példát Powershell ForEach $file in $files – lényegében felhasználásával Az egyes hurok a miben tárolt fájlok iterálásához fájlokat változó.
Csapassuk!
A PowerShell ForEach Loop szintaxisa
A PowerShell ForEach Loop szintaxisa…
|_+_|A szintaxisban $fájlok egy változót képvisel egy elemlistával. Ebben a példában a $fájlok változó a kimenete Get-Content alább látható parancs…
|_+_|Vissza a PowerShell ForEach Loop változó szintaxisához $fájl minden elmentett elemet jelöl $fájlok változó.
Továbbá minden alkalommal, amikor a ForEach Loop egy cikluson megy keresztül, elmenti az egyiket $fájlok változó az időbeli $fájl változó. Ezután ezt az ideiglenesen mentett változót használja a ForEach {} parancs zárójelében.
Powershell ForEach $file in $files Példa
Az utolsó alszakaszban megmutattam a ForEach Loop szintaxisát, mint…
|_+_|Azt is elmagyaráztam, hogy a Powershell ForEach ciklus minden egyes ciklusában elmenti a $fájlok nevű időbeli változóban változó $fájl .
Ebben a részben ezt az elvet fogom használni a mentett szövegfájl tartalmának iterálására $fájlok változó. Ezután a ForEach ciklus parancs részében a Új elem parancs egy mappa létrehozásához az időbeli változóba mentett elemekkel, $fájl .
Itt van a parancs, amely elvégzi a munkát…
|_+_|Mielőtt futtatnám a parancsot, itt van egy képernyőkép a mappáról D:PS-TutorialForEachEx
A szkript futtatásához másolja azt egy új dokumentumba a PowerShel ISE rendszerben. Ezután futtassa a szkriptet a kiemelt ikonra kattintva.
Miután futtattam a parancsot, a mappák létrejönnek D:PS-TutorialForEachEx :
Ha elfelejtette volna, ezek ugyanazok az elemek, amelyek az eredeti szövegfájlomban szerepelnek!
Lényegében a PowerShell ForEach ciklus iterálta a szövegfájl tartalmát (a Get-Content parancs). Ezután az eredményeket felhasználva hozzon létre egy új mappát…
A PowerShell használata az egyes objektumokhoz és a tartalom lekérése a fájlon keresztüli iterációhoz
Az utolsó részben megmutattam, hogyan használhatja a PowerShell ForEach ciklust a program által visszaadott szövegfájl tartalmának iterálására. Get-Content parancs.
Ebben a részben bemutatom, hogyan használhatja a ForEach-Object parancsmagot ugyanazon feladat végrehajtására. De először kezdjük a ForEach-Object Command szintaxisával.
A PowerShell ForEach-Object Command szintaxisa
Gyakorlati okokból a PowerShell ForEach-Object parancs szintaxisa…
|_+_|A PowerShell ForEach-Object átveszi az objektumok értékeit egy folyamatból, és futtatja a ForEach-Object {} parancsblokkjában megadott parancsot.
Ellentétben a PowerShell-lel Az egyes Hurok, ahol minden ciklusban egy objektum mentésre kerül egy megadott időbeli változóba – a PowerShellben ForEach-Object , az objektum egy ideiglenes automatikus objektumban van elmentve az aktuális folyamatfolyamat változóban, $_.
Végül PowerShell ForEach-Object a $_ automatikus változót használja bemenetként a parancs futtatásához a {} parancsblokkban.
Bővebben a következő alfejezetben…
Powershell ForEach-Object $_ In $files Példa
Ebben a példában a fájlba mentett fájl tartalmát fogom használni $fájlok változó, mappák létrehozásához. A példa hasonló ahhoz, amit tettünk a Az egyes Hurok szakasz.
átlagos üresjárati CPU hőmérséklet
Használata helyett azonban Az egyes Loop, használni fogjuk ForEach-Object Cmdlet.
Mielőtt azonban folytatnám, nézzük meg az eredeti szövegfájl képernyőképét.
Továbbá itt van a szkript, amely a fájl tartalmát a $fájlok változó.
|_+_|Most, hogy felfrissítettük gondolatainkat az eredeti szövegfájllal kapcsolatban, nézzük meg, hogyan kell használni a fájlt a PowerShellben ForEach-Object parancs.
Íme a szkript, amely mappákat hoz létre a szöveges fájl tartalmával:
|_+_| Ebben a szkriptben szeretném létrehozni a mappákat egy másik mappában, D:PS-TutorialForEach-ObjectEx . Ha meg szeretné győződni arról, hogy a mappa üres-e a szkript futtatása előtt, itt van a képernyőkép…
A szkript futtatásához másolja a PowerShell ISE-be, és futtassa.
A szkript futtatása után új mappák jönnek létre (a szövegfájlban lévő fájlok nevével). D:PS-TutorialForEach-ObjectEx .
A PowerShell ForEach() metódus használata és a tartalom lekérése a fájlon keresztüli iterációhoz
Ez az útmutató eddig azt tárgyalta, hogyan listázhatja ki a szöveges fájl tartalmát a Get-Content paranccsal. Kitértem arra is, hogyan iterálható szöveges fájl tartalma a PowerShell ForEach ciklussal és a ForEach-Object Cdlet-tel.
Ebben a részben megtudhatja, hogyan iterálhatja a szöveges fájl tartalmát a PowerShell ForEach módszerrel. A többi részhez hasonlóan ezt a szakaszt is a PowerShell ForEach Method szintaxisával kezdem.
A PowerShell ForEach() szintaxisa Módszer Parancs
A PowerShell ForEach() metódusparancs szintaxisa…
|_+_|Mint minden PowerShell Mód , a ForEach eléréséhez Módszer , írjon be egy pontot az objektum után, majd a szót Az egyes .
Majd miután Az egyes , írjon be egy nyitó zárójelet, (. Ezután adjon meg egy {} parancsblokkot – a parancsok ezen a blokkon belül kerülnek végrehajtásra.
Végül zárja be a ForEach-et Módszer blokk zárókonzollal, ).
A ForEach-Object parancshoz hasonlóan a ForEach is Módszer az időbeli automatikus objektumot használja az aktuális folyamatfolyamat változóban, a $_.A következő alszakaszban látni fogja, hogyan kell használni a ForEach-t Módszer .
Powershell ForEach() $_ In $files Példa
Az ebben a szakaszban található szkript hozzáfér a Az egyes Módszer ban,-ben $fájlok változó – az ezzel a paranccsal létrehozott változó…
|_+_|Itt van a használt szkript Az egyes Módszer a mentett szövegfájl tartalmának iterálásához $fájlok változó. Ezután minden elemmel létrehoz egy mappát.
|_+_|Ebben a példában az elérési út mappáit fogom létrehozni, D:PS-TutorialForEachMethodEx . Még egyszer, annak megerősítésére, hogy a mappa üres-e, mielőtt futtatnám a fenti szkriptet, itt van egy képernyőkép a mappáról…
A másik két szkripthez hasonlóan a parancsfájl futtatásához másolja át a PowerShell ISE-be.
Miután lefuttattam a szkriptet, a szövegfájlból származó információk alapján létrehozta a mappákat.
Ez az! A szöveges fájl tartalmának megismétlése Powershellben frissített verziónk.
Azért találta ezt az útmutatót, mert a foreach kifejezésre keresett a powershell fájlban vagy annak változatában. Remélem, tudtam válaszolni a kérdésére.
Ha válaszoltam kérdésére, kérem szavazzon Igen a Volt ez a bejegyzés Hasznos kérdés alább.
Alternatív megoldásként feltehet kérdést, megjegyzést írhat, vagy további visszajelzést adhat az oldal végén található Válaszoljon űrlap segítségével.
patak pc-t a tv-re
Végül, további PowerShell tech S zónákért keresse fel a Windows PowerShell útmutató oldalát. A Munka a kezdőlapról oldalunkat is nagyon hasznosnak találhatja.
Ezt a cikket teljesen újraírták és új példákkal frissítették.Hivatkozások és további olvasmányok
- Get-Content
- ForEach-Object
- about_Foreach
- PowerShell ForEach: Szintaxis, Paraméterek, Példák
- 18 leghasznosabb Powershell-parancs a Windows rendszergazdáknak


