Kako uporabljati Powershell Get-Content in ForEach s primeri

17. junija 2021 16866 Pogledi PowerShell Poskusite Catch Primere

To območje S vas uči, kako združiti PowerShell Get-Content z zanko ForEach. Za prikaz vsebine besedilne datoteke lahko uporabite Get-Content, nato pa uporabite stavek ForEach za ponovitev vsebine besedilne datoteke.





Obstajajo 3 različice PowerShell ForEach. Obstajata stavek ForEach in metoda ForEach.
Poleg tega obstaja ukazni ukaz ForEach-Object.



Ta vodnik se začne z razpravo o ukazu Get-Content – ​​njegovi sintaksi, parametrih in nekaterih primerih.



Nato se boste v preostalih delih vodnika naučili uporabljati vsako od treh različic PowerShell ForEach in Get-Content. Za vsako različico ForEach bom razpravljal o njeni sintaksi.



Na koncu bom pokazal več primerov, kako uporabljati različico PowerShell ForEach in Get-Content.



Brskajte po temah objav

Ukaz Get-Content: sintaksa, parametri, primeri

Ukaz Get-Content: sintaksa, parametri, primeri

Kot sem omenil v svojem uvodu, morate preden lahko uporabite PowerShell ForEach za ponavljanje vsebine datoteke, najprej uvozite vsebino besedilne datoteke v PowerShell.



Ukaz Get-Content se uporablja za seznam ali uvoz vsebine besedilne datoteke v PowerShell.



V tem razdelku si bomo ogledali sintakso in parametre Get-Content. Razdelek bom zaključil z nekaj primeri.

Sintaksa in parametri ukaza Get-Content

Poenostavljena sintaksa ukaza Get-Content je ...

|_+_|

Get-Content ima veliko več parametrov. Navedel sem pogosto uporabljene parametre.

Uporabi - Pot parameter za določitev celotne poti () do besedilne datoteke. Vključiti morate pripono besedilne datoteke (.txt).

The Pot parameter je na položaju 0, zato vam ga ni treba podajati. Vrednost lahko vnesete takoj za Get-Content. Če želite prebrati več o parametrih PowerShell, preberite naš vodnik – atribut parametra PowerShell

Primeri ukazov Get-Content

Spodnji posnetek zaslona je seznam strežnikov. Za uvoz vsebine besedilne datoteke v PowerShell bom zagnal spodnji ukaz ...

|_+_|

Ukaz prikaže seznam strežnikov v besedilni datoteki.

Kako uporabljati izjavo PowerShell ForEach z Get-Content

Kako uporabljati zanko PowerShell ForEach z Get-Content

V tem razdelku se boste naučili, kako prenesti rezultat Get-Content v Za vsakogar Zanka. Nato znotraj Za vsakogar Blok zanke, izvedite določene naloge.

kako priporočiti prijatelje na

Razdelek se začne z razpravo o sintaksi zanke PowerShell ForEach.

Sintaksa izjave PowerShell ForEach

Stavek PowerShell ForEach izvede operacijo nad vsakim elementom v zbirki vhodnih predmetov. Za namen tega priročnika bo operacija izvedena nad elementi v besedilni datoteki.

Sintaksa izjave ForEach je:

|_+_|

Kot je bilo pričakovano, se bo sintaksa začela z »ForEach«. Nato mu sledijo oklepaji „()“; in končno blok »{}«.

V prvem razdelku tega priročnika sem dal primer, kako uvoziti vsebino besedilne datoteke Get-Content . Tukaj je ukaz …

|_+_|

Če to vključimo v sintakso izjave ForEach, bo stavek ForEach posodobljen, kot je prikazano spodaj:

|_+_|

V posodobljeni sintaksi stavka ForEach sem zamenjal $zbirka spremenljivka z Get-Content D:PS-TutorialS ZonesS Zones-Servers.txt ukaz.

Poleg tega lahko ta ukaz shranimo v $zbirka spremenljivka…

|_+_|

Nato lahko uporabimo poenostavljeno različico sintakse stavka ForEach ...

|_+_|

Če želite izvedeti več o tej močni izjavi PS, kliknite PowerShell ForEach: sintaksa, parametri, primeri.

kako narediti neskladje afk kanal

V preostalih pododdelkih tega razdelka bom navedel več primerov.

Kako ponoviti besedilno datoteko z izjavo ForEach

V tem pododdelku bom dodal nekaj ukazov v ukazni blok stavka ForEach. Tukaj so posodobljeni ukazi.

|_+_|

Če zaženem skript v PowerShell ISE, prikaže vsebino besedilne datoteke.

V prvi vrstici skripta sem uporabil Get-Content za uvoz vsebine besedilne datoteke v PowerShell; nato sem uporabil stavek PowerShell ForEach, da sem ponovil vsebino in jih navedel z ukazom write-host $item.

Kako združiti PowerShell Get-ChildItem, zanko ForEach in Get-Content

Če imate v mapi več besedilnih datotek, morate najprej pridobiti celotno pot do besedilnih datotek. Če želite dobiti celotno pot besedilnih datotek, potrebujete ukaz Get-ChildItem.

Za ponazoritev tega sem ustvaril dve besedilni datoteki v mapi. Oglejte si spodnji posnetek zaslona…

Kako združiti PowerShell Get-ChildItem, zanko ForEach in Get-Content

Kot sem omenil eelier, je prvi korak pridobiti pot do vseh besedilnih datotek v mapi. Tukaj je ukaz, ki opravi to nalogo ...

|_+_|

Ukaz navede celotno pot do besedilnih datotek ...

Če pa imate v mapi druge elemente, na primer podmape in druge vrste datotek, morate izboljšati ukaz, da vrnete samo besedilne datoteke ...

|_+_| Rezultat ukaza sem shranil v spremenljivko, da skrajšam naslednje ukaze.

Zdaj, ko imamo poti do vseh besedilnih datotek v mapi, je naslednji korak uporaba Get-Content za seznam vsebine vsake besedilne datoteke. Ker pa obstaja več kot ena besedilna datoteka, moramo uporabiti stavek ForEach.

|_+_|

Tukaj je rezultat skripta v PowerShell ISE ...

Kako združiti PowerShell Get-ChildItem, zanko ForEach in Get-Content

Kako ustvariti mape z vsebino besedilne datoteke

V tem pododdelku se boste naučili, kako ustvariti mape z vsebino besedilne datoteke.

Da to pokažem, imam besedilno datoteko z imeni.

Za uvoz vsebine besedilne datoteke v PowerShell bom uporabil Get-Content; nato uporabite blok stavkov ForEach, da ponovite vsebino besedilnih datotek.

Končno, znotraj bloka stavkov ForEach, bom uporabil spoštovanje ukaz za ustvarjanje map z vsebino besedilne datoteke.

Vendar pa bom namesto ločevanja ukazov, kot smo to počeli do zdaj, združil vse ukaze. Tukaj je scenarij …

|_+_|

V tem ukazu sem uporabil ukaze Windows Command Prompt, CD in mkdir . Tukaj je različica ukaza PowerShell ...

|_+_|

In tukaj je rezultat v PoweShell ISE:

Če pa ne želite, da se prikažejo informacije o ustvarjenih mapah, lahko pošljete izhod datoteke Nov artikel ukaz za Out-Null .

Skript bo zdaj videti takole...

|_+_|

Kako razdeliti, nato pridružiti vsebini besedilne datoteke z izjavo Get-Content in ForEach

Ko sem raziskoval ta članek, sem naletel na to stackoverflow.com vprašanje. Oseba, ki je postavila vprašanje, ima besedilno datoteko z naslednjimi nizi:

|_+_|

Vendar želi oseba spremeniti nize, da bodo videti takole:

|_+_|

Da bi ponovil to situacijo, sem ustvaril besedilno datoteko z izvirnimi nizi. Nato sem ustvaril kratek scenarij, ki bo dosegel želeni rezultat.

5400 vs 7200 vrt / min trdega diska

Tukaj je scenarij.

|_+_|

Prva in druga vrstica sta relativno enostavni. V 1. vrstici sem shranil pot besedilne datoteke v spremenljivko.

Nato sem v vrstici 2 uporabil Get-Content uvozite vsebino besedilne datoteke v PowerShell in rezultat shranite v drugo spremenljivko.

Končno sem v vrsticah 3, 4 in 5 uporabil rezultat Get-Content ukaz v stavku PowerShell ForEach. Rezultat izjave ForEach sem shranil v drugo spremenljivko.

Najpomembnejša izjava ForEach je tisto, kar imam v ukaznem bloku ...

|_+_|

Prvi del ukaza uporablja PowerShell Split Method za prekinitev vsebine besedilne datoteke. Tukaj je ukaz …

|_+_|

Ta ukaz prekine nize v besedilni datoteki na | značaj. Da bi vam pomagali pri tem, so tukaj izvirni nizi v besedilni datoteki.

|_+_|

Rezultat ukaza split ustvari naslednje posamezne nize:

|_+_|

Ko PowerShell split ustvari posamezne nize, kot je ta, je vsak element predstavljen s številko položaja, ki se začne z 0 (nič). Torej lahko dostopate do prvega niza, 80055555 z [0], drugi z [1] itd.

Preden razložim naslednji del ukaza, poglejmo rezultat, ki ga želimo doseči. Tukaj je…

|_+_|

Če bi ta izhod razbili s PowerShell Split, bomo to dosegli ...

|_+_|

Če to primerjate z rezultatom, ko smo razdelili izvirni niz, boste opazili, da je podniz na mestu 4 izvirne besedilne datoteke ( DCDOCS ) je zdaj na položaju 2. Vsak drugi podniz je ohranil prvotni položaj.

Tukaj je prikazano opravilo drugega bita ukaza ...

|_+_|

Ta ukaz preprosto pomeni ...

|_+_| Za ponazoritev sem vključil vejice (,) za ločevanje podnizov. Ukaz ne vključuje vej.

Do sedaj sem razložil ta ukaz..

|_+_|

Do te točke…

|_+_|

Zadnji bit uporablja PowerShell Join Operator za vstavljanje izvirnega znaka | med nov niz, ustvarjen s tem ukazom…

|_+_|

V zadnjih nekaj odstavkih sem razložil 4. vrstico tega skripta.

|_+_|

Končno sem v 6. vrstici posredoval izhod novega niza, shranjenega v njem nova datoteka spremenljivka v Set-Content . Set-Content prepiše izvirno datoteko z novim nizom.

To je odličen primer, kako lahko združite Get-Content z izjavo PowerShell ForEach!

Kako uporabljati PowerShell za vsako metodo z Get-Content

Kako uporabljati PowerShell za vsako metodo z Get-Content

Metoda ForEach je bila predstavljena v različici PowerShell 4. Ta metoda daje razvijalcem skriptov PowerShell še en način ponovitve vsebine besedilne datoteke.

V tem razdelku se boste naučili, kako uporabljati metodo ForEach z Get-Content z več primeri.

Razdelek se začne s sintakso metode ForEach.

Sintaksa PowerShell za vsako metodo

Sintaksa metode PowerShell ForEach je …

|_+_|

Dostop do metode ForEach predmeta je podoben dostopu do katere koli druge metode PowerShell. Edina razlika je v tem, da metoda ForEach vključuje blok {} znotraj bloka ().

Kako združiti PowerShell Get-ChildItem, ForEach Method in Get-Content

V razdelku ForEach Statement tega priročnika sem delil spodnji skript ...

|_+_|

Uporabljeni scenarij Get-ChildItem da vrnete celotno pot do besedilnih datotek v tej mapi ...

Kako združiti PowerShell Get-ChildItem, ForEach Method in Get-Content

Tukaj je enakovredni skript za metodo ForEach ...

|_+_|

Kako ustvariti mape z vsebino besedilne datoteke z metodo ForEach

Podobno kot primer v zadnjem pododdelku, sem v razdelku ForEach Statement tega priročnika uporabil spodnji skript ...

gmail je zataknjen v čakalni vrsti
|_+_|

Skript je uporabil Get-Content in ForEach Statement za ustvarjanje map z uporabo vsebine besedilne datoteke na spodnjem posnetku zaslona ...

Za razliko od izjave ForEach, ki uporablja ukaz ...

|_+_|

PowerShell ForEach Method pokliče metodo ForEach v rezultatu Get-Content, kot je ta …

|_+_|

Nato znotraj bloka () vstavimo blok {} in zaženemo Nov artikel ukaz. Vendar namesto uporabe $filename spremenljivko, tokrat uporabljam samodejno spremenljivko $_

|_+_|

Končna različica skripte ForEach Method izgleda takole ...

|_+_|

Tokrat želim zagnati ukaz v PowerShell namesto v PowerShell ISE. Torej bom imel celoten scenarij v eni vrstici ...

|_+_|

Tukaj je ukaz v PowerShell in ustvarjene mape. Vključil sem tudi posnetek zaslona besedilne datoteke z imeni map ...

Kako ustvariti mape z vsebino besedilne datoteke z metodo ForEach

Kako razdeliti, nato pridružiti vsebini besedilne datoteke z metodo Get-Content in ForEach

V razdelku ForEach Statement tega priročnika sem dal primer s tem stackoverflow.com vprašanje. Oseba, ki je postavila vprašanje, želi spremeniti naslednji niz v besedilni datoteki ...

|_+_|

Za to…

|_+_|

Za odpravo težave sem ustvaril ta skript, ki uporablja Get-Content in stavek PowerShell ForEach ...

|_+_|

V tem razdelku vodnika razpravljamo o uporabi Get-Content in ForEach Method, tukaj je enakovredni skript z metodo ForEach ...

|_+_|

Spremenjeno je enako, le da sem v tej spremenjeni različici stavek ForEach zamenjal z metodo ForEach.

Kako uporabljati ukaz PowerShell ForEach-Object z Get-Content

Kako uporabljati ukaz PowerShell ForEach-Object z Get-Content

V tem zadnjem razdelku bom ponovil nekaj primerov, ki sem jih že navedel v prvih dveh razdelkih.

Vendar bom v tem razdelku zamenjal stavek ForEach in/ali metodo ForEach z ukazom ForEach-Object.

Razdelek se začne s sintakso ukaza ForEach-Object Cmdlet

Sintaksa ukaza ForEach-Object

Obstajata dve sintaksi ForEach-Object. Tu so njihove poenostavljene različice:

|_+_| |_+_|

Sintakse ForEach-Object se lahko zdijo zapletene. Vendar pa je zelo enostaven za uporabo. V tem priročniku se bomo osredotočili na InputObject parameter.

To je parameter, ki daje vnos v ForEach-Object. Poleg tega InputObject se lahko pošlje tudi po cevovodu...

|_+_|

Kako ustvariti mape z vsebino besedilne datoteke z ukazom ForEach-Object

V prvem in drugem razdelku tega priročnika sem ustvaril naslednje skripte.

|_+_| |_+_|

Prvi skript uporablja izjavo Get-Content ForEach za ustvarjanje map z uporabo vsebine besedilne datoteke na spodnjem posnetku zaslona ...

Poleg tega drugi skript uporablja metodo Get-Content ForEach za izvedbo iste naloge.

pretvorba koša v iso

Če želite namesto izjave ForEach ali metode ForEach uporabiti ukaz ForEach-Object, bo skript spremenjen, kot je prikazano spodaj…

|_+_|

Kako razdeliti, nato pridružiti vsebino besedilne datoteke z ukazom Get-Content in ForEach-Object

V razdelkih ForEach Statement in ForEach Method sem ustvaril naslednje skripte, da to popravim stackoverflow.com vprašanje.

|_+_| |_+_|

Tukaj je različica ukaznega ukaza ForEach-Object istega skripta:

|_+_|

Delo s PowerShell Get-Content in ForEach: zadnje misli

Delo s PowerShell Get-Content in ForEach: zadnje misli

Teme, ki jih delite v tem priročniku, so lahko zmedene, še posebej, ker je zajemal 3 različice PowerShell ForEach. Za lažje razumevanje je tu tabela, ki povzema koncepte v tem članku.

vprašanjeIzjava ForEachZa vsako metodoUkaz ForEach-Object
Sprejema vnos iz Get-Content
Kako sprejema vnos iz Get-Content?Pipeline | ali v bloku pogojev izjave ForEachMetoda PowerShell .()Cevovod | ali preko InputObject parameter
Kako transformira vhod iz Get-Content?Ustvari časovno spremenljivko, ki predstavlja vsak predmet v zbirkiPredstavlja vsak predmet v zbirki s spremenljivko samodejnega cevovoda PowerShell, $_Predstavlja vsak predmet v zbirki s spremenljivko samodejnega cevovoda PowerShell, $_
Vzorčni skript?ForEach ($filename v Get-Content D:PS-Tutoriallist.txt) Out-Null
(Get-Content D:PS-Tutoriallist.txt).ForEach(
Nov-Item -Pot D:PS-Tutorial -Ime $_ -ItemType Directory
)
Get-Content D:PS-Tutoriallist.txt | ForEach-Object
Nov-Item -Pot D:PS-Tutorial -Ime $_ -ItemType Directory

To je to – naš posodobljen vodnik o tem, kako uporabljati PowerShell Get-Content in ForEach! Upam, da vam je bilo v pomoč?

Če se vam zdi v pomoč, vljudno glasujte da na spodnje vprašanje Ali je bila ta objava koristna.

Lahko pa postavite vprašanje, pustite komentar ali pošljete več povratnih informacij z obrazcem za pustite odgovor na koncu te strani.

Nazadnje, za več PowerShell tech S con obiščite našo stran z navodili za Windows PowerShell. Morda vam bo v veliko pomoč tudi naša stran Delo od doma.

Reference in dodatno branje

  1. ForEach-Object
  2. Get-Content
  3. about_Foreach