Kako uporabljati PowerShell za pisanje v besedilno datoteko

3. junija 2021 102357 Pogledi

To območje S vas nauči različnih načinov uporabe PowerShell za pisanje v datoteko.





Vodnik se začne z razpravo o različnih ukazih PowerShell, ki se uporabljajo za zapisovanje izhodnih podatkov v datoteko. Razdelek zajema Out-File , Add-Content in Set-Content Cmdlet s primeri.



Nato se boste v drugem razdelku naučili uporabljati različne PowerShell Metode za manipuliranje pisanja in posodabljanja besedilne datoteke.

Končno, zadnji razdelek zajema vse možne primere pisanja izhodnih podatkov v besedilne datoteke v PowerShell. Primeri segajo od preprostega primera, kot je prepisovanje besedilnih datotek, do naprednih primerov, kot je manipulacija kodiranja datotek.



kako flash twrp s hitrim zagonom

Če iščete konkreten primer, spodaj razširite Brskanje po temah objav in kliknite temo.



Vodnik ima razdelek s pogostimi vprašanji s kratkimi odgovori na pogosto zastavljena vprašanja o uporabi PowerShell za pisanje izhodnih podatkov v besedilno datoteko.

Brskajte po temah objav

Ukazni ukazi PowerShell, ki se uporabljajo za pisanje ali posodabljanje besedilnih datotek

Ukazni ukazi PowerShell za pisanje ali posodabljanje besedilnih datotek

Ta razdelek predstavlja štiri ukazne ukaze PowerShell, ki se uporabljajo za pisanje, posodabljanje ali zamenjavo besedilnih datotek. V vsakem pododdelku tega razdelka se boste naučili uporabljati Out-File , Dodaj vsebino , in Set-Content .



Kako napisati izhod PowerShell v besedilno datoteko z Out-File

Pisanje izhodnih podatkov v besedilno datoteko je tako preprosto kot prenašanje izhoda prvega ukaza Out-File in določite pot do besedilne datoteke.



V mojem prvem primeru bom vnesel besedilo v poziv PowerShell in ga nato vnesel Out-File .

|_+_| Če datoteka ne obstaja, jo bo Out-File ustvaril na poti, ki jo je določil FilePath parameter.

Ukaz se bo izvedel in se vrnil v poziv PowerShell.

Kako uporabiti datoteko Out-File v PowerShell za pisanje ali dodajanje datoteki

Tukaj je datoteka, ustvarjena na navedeni poti. Druga slika je vsebina besedilne datoteke.

Kako uporabiti datoteko Out-File v PowerShell za pisanje ali dodajanje datoteki

To metodo lahko uporabite za zapisovanje izhoda katerega koli ukaza PowerShell v besedilno datoteko.

V tem drugem primeru bom izpis Get-Process zapisal v besedilno datoteko. Tukaj je ukaz:

|_+_|

Ukaz se bo izvedel in ustvaril datoteko process.txt. Rezultat je prikazan na drugi sliki spodaj:

Kako dodati izhod PowerShell v obstoječo besedilno datoteko z Out-File

Drug način uporabe PowerShell za pisanje v datoteko je dodajanje (dodajanje več vsebine) obstoječi besedilni datoteki z nekaj vsebine.

Po prvem primeru bo spodnji ukaz dodal (dodal) informacije pred cevovodom (|) na dno datoteke, first-file.txt.

|_+_|

Datoteka ima zdaj drugo vrstico z besedilom To bo dodano pod prvo vrstico. Oglejte si spodnjo sliko.

Kako uporabiti Dodaj vsebino V PowerShell za dodajanje v besedilno datoteko

PowerShell lahko uporabite tudi za pisanje v datoteko, tako da dodate obstoječi besedilni datoteki s Dodaj vsebino cmdlet.

Če želite dodati To bo dodano pod drugo vrstico naši obstoječi datoteki, first-file.txt, vnesite ta ukaz in pritisnite enter.

|_+_|

Datoteka bo zdaj imela tretjo vrstico z besedilom To bo dodano pod drugo vrstico. Oglejte si spodnjo sliko:

V zadnjem primeru bom dodal (napisal) izhod Get-Proces Ukaz za procese.txt, ustvarjen v datoteki Out-File primer.

V tem primeru bom zagnal spodnje ukaze:

|_+_| |_+_|

Prvi ukaz shrani izhod Get-Proces v proces spremenljivka. Drugi ukaz doda izhod iz spremenljivke v datoteko process.txt.

Za zapisovanje v datoteko (ali dodajanje obstoječi datoteki) s PowerShellom lahko uporabite eno od metod, ki jih pokriva to območje S!

Kako uporabiti Set-Content V PowerShell za pisanje v besedilno datoteko

Do sedaj sem vam v tem razdelku pokazal, kako uporabljati Out-File za pisanje v besedilno datoteko. Videli ste tudi, kako uporabiti isti Cmdlet za dodajanje besedilni datoteki.

Na koncu sem vam v zadnjem pododdelku pokazal, kako uporabljati Dodaj vsebino da dodate izhod v besedilno datoteko.

Ta pododdelek predstavlja Set-Content . Ena razlika med tem Cmdletom in ostalima dvema, o katerih smo že razpravljali, je v tem, da medtem Out-File in Dodaj vsebino lahko doda vsebino v besedilno datoteko, Set-Content prepiše vsebino.

Torej spodnji ukaz prepiše vsebino datoteke z novo vsebino, navedeno v vrednost parameter.

|_+_|

Tukaj je besedilna datoteka – vsa prejšnja vsebina je bila zamenjana!

Besedilna datoteka PowerShell Metode Uporablja se za pisanje ali posodabljanje besedilnih datotek

Kako pisati v besedilno datoteko z metodami besedilnih datotek PowerShell

Prvi razdelek tega priročnika je pokrival različne ukazne ukaze PowerShell, ki se uporabljajo za pisanje izhodnih podatkov v besedilne datoteke. V tem razdelku se boste naučili, kako izvajati enaka opravila z besedilno datoteko PowerShell Metode .

Razdelek se začne tako, da vas uči, kako najti razpoložljivo besedilno datoteko Metode . Nato se boste v naslednjih podpoglavjih naučili uporabljati te PowerShell Metode za pisanje, posodobitev in prepis besedilnih datotek z vsebino.

Za razlago, kako najti PowerShell, bom uporabil besedilno datoteko na spodnjem posnetku zaslona Metode na voljo, ko navedete besedilno datoteko z Get-Content Cmdlet. Poleg tega bom to besedilno datoteko uporabil za primere v vseh podrazdelkih tega razdelka.

Kako najti metode besedilnih datotek PowerShell

Če želite videti seznam vseh Metode in Operaterji na voljo v besedilni datoteki, prenesite izhod datoteke Get-Content ukaz za Get-member .

Tukaj je vzorec ukaza ...

|_+_|

Ukaz navaja kup PowerShell Metode . Vendar me za namen tega vodnika zanima naslednje Metode :

  • Vstavi
  • Odstrani
  • Zamenjati

Poleg tega bom uporabil tudi Indeks Metoda v mojih ilustracijah. Te sem izpostavil Metode v rezultatu zadnjega ukaza ...

V naslednjih pododdelkih se boste naučili uporabljati te PowerShell Metode na voljo, ko navedete besedilno datoteko z Get-Content cmdlet.

Kako uporabljati PowerShell Vstavi Metoda za dodajanje nizov v obstoječo besedilno datoteko

Splošna sintaksa PowerShell Vstavi Metoda je…

|_+_|

The začetni indeks je prvi znak podniza, pred katerim želimo vstaviti besedilo. Poleg tega je vrednost niza je besedilo, ki ga želite vstaviti.

Eden preprostih načinov za določitev startIndex je izračunati Indeks vrednost niza, okoli katerega želite vstaviti besedilo.

Vem, da vam večina tega, kar sem rekel, morda zveni kot grško! Torej, naj razložim s primerom v moji besedilni datoteki.

Za začetek želim shraniti pot do moje datoteke v spremenljivko. Tako bom pozneje lažje shranil posodobljeno vsebino.

|_+_|

Nato bom uporabil Get-Content ukaz za prikaz vsebine besedilne datoteke. Nato rezultat shranite v drugo spremenljivko ...

|_+_|

Preden nadaljujem z naslednjim korakom, naj vrnem sintakso PowerShell Vstavi Metoda…

|_+_|

Kot sem namignil prej, je najlažji način za določitev startIndex – položaj v besedilni datoteki, kamor želimo vstaviti besedilo – je uporaba Indeks Metoda .

V tem primeru želim vstaviti besedo ne pred prepisom ...

Kako uporabiti metodo vstavljanja PowerShell za dodajanje besedila v obstoječo besedilno datoteko

Prvi korak je določiti Indeks vrednost prepisa. Spodnji ukaz opravi svoje delo ...

|_+_|

Rezultat je 10.

Upoštevajte, da to Indeks od 10 je točno na začetku prvega znaka besede, prepiši.

Glede na to, če želim vstaviti niz (besedilo, številke, znaki – karkoli), bom pred prepisom uporabil 10 kot startIndex .

Poleg tega, če želim karkoli vstaviti na konec niza, prepiši, bom preštel število znakov od prvega znaka – v tem primeru o – do konca niza, prepiši – to bo 18

Upoštevajte, da se presledki štejejo tudi kot znaki.

Toda za namen tega primera želim vstaviti besedo ne pred prepisom ...

Kako uporabiti metodo vstavljanja PowerShell za dodajanje besedila v obstoječo besedilno datoteko

To je ukaz, ki naredi to čarovnijo ...

|_+_| Dodal sem presledek za not, da ustvarim presledek med not in prepiši.

V ukazu, 10 ali je startIndex , ne je vrednost niza . Ta ukaz sledi sintaksi metode vstavljanja spodaj ...

|_+_|

In tukaj je rezultat zadnjega ukaza v PowerShell. Rezultat vključuje besedo, ki smo jo vstavili!

Ampak še nismo končali. Zadnji korak je, da to vrednost zapišete v isto besedilno datoteko.

Za to moramo uporabiti Set-Content ukaz. Če se spomnite, sem v zadnjem razdelku omenil, da za razliko od drugih 2 Cmdletov, o katerih sem razpravljal v tem razdelku, Set-Content prepiše vsebino besedilne datoteke.

Torej, če želite zapisati izhod zadnjega ukaza PowerShell v isto besedilno datoteko, zaženite spodnji ukaz ...

|_+_|

Ko zaženem ta zadnji ukaz in odprem svojo besedilno datoteko, je beseda ne zdaj del nizov v besedilni datoteki!

Kako uporabiti metodo vstavljanja PowerShell za dodajanje besedila v obstoječo besedilno datoteko

Kako uporabljati PowerShell Odstrani Metoda za brisanje nizov v obstoječi besedilni datoteki

Ko sem predstavil ta razdelek, sem omenil, da bom dal primere s PowerShellom Odstrani Metoda. V tem pododdelku se boste naučili, kako uporabiti to metodo PowerShell za brisanje nizov iz besedilne datoteke.

Začnimo s sintakso Odstrani Metoda:

|_+_| |_+_|

V prvi sintaksi preprosto določite startIndex . Poleg tega morate v drugi sintaksi določiti startIndex in šteti .

Kot sem pojasnil v zadnjem pododdelku, lahko dobite startIndex z izračunom Indeks sintakse, ki jo želite odstraniti.

Poleg tega za drugo sintakso, šteti je število znakov – od startIndex – želite odstraniti.

Torej, recimo, da želimo odstraniti niz, ki ni dodan v našo besedilno datoteko v zadnjem pododdelku. Prvi korak je določiti Indeks prvega znaka niza, ne.

Če nadaljujemo s primeri v zadnjem pododdelku, bo tretji ukaz določil Indeks vrednost:

|_+_|

Rezultat je 10…

Kako uporabljati metodo odstranitve PowerShell za brisanje nizov v obstoječi besedilni datoteki

Če nadaljujemo z odstranitvijo niza, bomo uporabili drugo sintakso Odstrani Metoda.

|_+_|

V mojem primeru je startIndex je 10. Prej sem pojasnil, da je šteti je število znakov – od startIndex – želite odstraniti.

tmobile note 4 zaloga rom

Torej želimo odstraniti niz, ne – ki je 3 znake iz startIndex . Zato je šteti je 3.

Na podlagi teh informacij bo spodnji ukaz odstranil niz, ne pa iz naše besedilne datoteke.

|_+_|

Tukaj je rezultat…

Če natančno pogledate rezultat, boste opazili, da je med voljo in prepisom dvojni presledek. Če želite odstraniti enega od presledkov, naredite šteti 4…

|_+_|

Zdaj prostora ni več!

Kako uporabljati metodo odstranitve PowerShell za brisanje nizov v obstoječi besedilni datoteki

Končno uporabite spodnji ukaz PowerShell, da zapišete posodobljeno besedilo v datoteko ...

|_+_|

Po zagonu ukaza se datoteka posodobi brez niza, ne. Oglejte si spodnje posnetke zaslona…

Kako uporabljati PowerShell Zamenjati Metoda za zamenjavo niza v besedilni datoteki

V zadnjih dveh pododdelkih tega razdelka sem vas naučil, kako uporabljati Vstavi in Odstrani PowerShell metode za pisanje v besedilno datoteko.

V tem zadnjem pododdelku se boste naučili, kako zamenjati niz z drugim nizom. Kot običajno, začnimo s sintakso Zamenjati Metoda:

|_+_|

Za razliko od drugih 2 metod, ki zahtevajo, da določite začetni indeks , oz šteti , Zamenjati Metoda ne. Vse, kar morate zamenjati niz, je, da določite niz, ki ga želite zamenjati, nato pa določite nov niz.

Za ponazoritev s primerom se vrnimo na našo besedilno datoteko. V tem primeru želim zamenjati niz, prepisati s pisanjem čez ...

Tretji spodnji ukaz bo opravil svoje delo. Znova sem predstavil prva dva ukaza, tako da lahko v spremenljivkah dobim posodobljeno različico besedilne datoteke.

Poleg tega zadnji ukaz PowerShell zapiše posodobljen izhod v isto besedilno datoteko ...

android wifi povezan, vendar brez internetne popravke
|_+_|

Po zagonu ukazov bo besedilna datoteka posodobljena. Oglejte si spodnji posnetek zaslona…

Kako uporabljati operaterje preusmeritve PowerShell za dodajanje v besedilno datoteko

Windows PowerShell ima nabor operaterji preusmeritve . Dva od teh operaterjev preusmeritve lahko uporabite za pisanje ali posodabljanje besedilnih datotek v PowerShell.

Zavedam se, da operaterji preusmeritve ne sodijo v ta razdelek o pisanju v besedilno datoteko z metodami PowerShell. Vendar je to edini logični razdelek, ki ga lahko vključim v to temo.

Če želite ustvariti novo besedilno datoteko in vanjo pisati, uporabite operater preusmeritve >. Če uporabite ta operater za pisanje toka PowerShell v besedilno datoteko, prepiše vsebino besedilne datoteke.

Če pa želite posodobiti besedilno datoteko, ne da bi prepisali njeno vsebino, uporabite operater preusmeritve >>.

Za ponazoritev delovanja teh operaterjev zaženite naslednje ukaze.

|_+_| |_+_|

Prvi ukaz ustvari besedilno datoteko, E: eportsRedirectExample.txt . Nato zapiše preusmeritev v besedilno datoteko.

Poleg tega drugi ukaz doda vrstico za preusmeritev 2 isti besedilni datoteki. Tukaj so ukazi v PowerShell in posnetek zaslona besedilne datoteke.

Kako uporabljati operaterje preusmeritve PowerShell za dodajanje v besedilno datoteko

Primeri pisanja v besedilno datoteko PowerShell

Primeri pisanja v besedilno datoteko PowerShell

V tem zadnjem razdelku bom delil več primerov za pisanje v besedilno datoteko v PowerShell. V primerih bom uporabil veščine, opisane v prvih dveh razdelkih tega priročnika.

Kako napisati izhod PowerShell v besedilno datoteko in jo prepisati

Obstajajo trije načini za prepis vsebine besedilne datoteke. Prvič, če zaženete Out-File ukaz brez Pripni parameter, bo prepisal vsebino besedilne datoteke.

Poleg tega lahko vsebino besedilne datoteke prepišete z Set-Content ukaz. Končno lahko uporabite > operater za preusmeritev, da prepiše vsebino besedila.

Če navedemo nekaj primerov, bodo spodnji ukazi prepisali vsebino besedilne datoteke, E: eportsoverwrite.txt :

|_+_|

Spodnji posnetek zaslona prikazuje ukaze in končno vsebino besedilne datoteke.

Kako napisati izhod PowerShell v besedilno datoteko in konzolo

Če želite zapisati izhod PowerShell v besedilno datoteko in prikazati izhod tudi na konzoli, lahko uporabite enega od teh dveh ukaznih ukazov – Dodaj vsebino oz Set-Content .

Dve ukazni ukazi imata parameter, ki se imenuje PassThru . Če uporabljate PassThru parameter, PowerShell zapiše izhod na določeno pot besedilne datoteke; nato ga prikaže tudi na konzoli.

Vendar je Cmdlet, ki ga uporabljate, odvisen od tega, ali želite dodati besedilno datoteko ali prepisati vsebino besedilne datoteke. Če želite dodati besedilni datoteki, uporabite Dodaj vsebino .

Če pa nameravate prepisati vsebino besedilne datoteke, uporabite Set-Content . Ponazoril bom z dvema primeroma.

Če želite priložiti stavek, se temu doda Dodaj vsebino , v določeno besedilno datoteko in prikažete sporočilo na konzoli, zaženite spodnji ukaz:

|_+_|

Spodnji posnetek zaslona prikazuje rezultat ukaza v PowerShell in izhod besedilne datoteke.

Kako napisati izhod PowerShell v besedilno datoteko in konzolo

Nasprotno, če želite prepisati vsebino besedilne datoteke in zapisati izhod tudi v konzolo, uporabite spodnji ukaz ...

|_+_|

Končno, tukaj je izhod ukaza PowerShell, prikazan na konzoli in tudi zapisan v besedilno datoteko. Vendar je tokrat prepisal vsebino besedilne datoteke.

Kako napisati izhod PowerShell v besedilno datoteko brez nove vrstice

Če zaženete ta ukaz PowerShell, namesto da zapiše izhod v isto vrstico v besedilni datoteki, zapiše dva niza, Victor in Ashiedu v dveh vrsticah ...

|_+_|

Če pa je vaš cilj napisati oba niza v isto vrstico, morate vključiti Out-File Poklican parameter ukaznega ukaza Brez nove vrstice .

|_+_|

Zdaj ima besedilna datoteka oba niza v isti vrstici! Vendar med obema nizoma ni presledka - kar sta v tem primeru ime in priimek osebe.

Kako napisati izhod PowerShell v besedilno datoteko brez nove vrstice

Če želite vključiti presledek med obema imenoma, dodajte presledek pred drugim nizom, Ashiedu. Spodnji ukaz je enak prejšnjemu ukazu, razen presledka pred drugim nizom.

|_+_|

Tukaj je zdaj besedilna datoteka ...

Če ne želite prepisati besedilne datoteke, vključite Pripni parameter v zadnjem ukazu.

Kako napisati izhod PowerShell v besedilno datoteko s kodiranjem UTF 8

The Out-File Cmdlet ima parameter, imenovan Kodiranje . Ko pišete izhod PowerShell v besedilno datoteko, lahko s tem parametrom podate kodiranje datoteke.

Poleg tega lahko, če želite spremeniti kodiranje obstoječe besedilne datoteke, izhod datoteke Get-Content ukaz za Out-File .

The Kodiranje parameter podpira UTF8, ASCII, UTF32 in še več. Določite lahko katero koli vrsto kodiranja.

Ker je ta pododdelek namenjen pisanju izhoda PowerShell v besedilno datoteko s kodiranjem UTF8, so tukaj primeri ukazov, ki lahko to dosežejo ...

|_+_| |_+_|

Prvi ukaz zapiše izhod v besedilno datoteko s kodiranjem UTF8.

Poleg tega drugi ukaz uvozi vsebino besedilne datoteke v PowerShell s Get-Content . Nato isto vsebino zapiše v drugo besedilno datoteko s kodiranjem UTF8.

Kako popraviti napako PowerShell Write To File Access Denied

Včasih, ko poskušate zapisati izhod PowerShell v besedilno datoteko, lahko prejmete sporočilo o napaki o zavrnjenem dostopu. To napako lahko povzroči več razlogov.

Eden od razlogov, zakaj lahko prejmete sporočilo o napaki o zavrnjenem dostopu, je, če poskušate pisati v odprto besedilno datoteko. Če poskusite pisati v besedilno datoteko, ki jo uporablja drug proces Windows, boste morda prejeli sporočilo o napaki o zavrnjenem dostopu.

Drug razlog, zakaj lahko prejmete napako o zavrnjenem dostopu, je, če poskušate ustvariti besedilno datoteko z nepodprtim znakom. Če na primer poskusite ustvariti besedilno datoteko, ki v svojem imenu vključuje /, boste morda prejeli sporočilo o napaki o zavrnjenem dostopu.

Nazadnje, če ima besedilna datoteka atribut samo za branje, boste prejeli tudi sporočilo o napaki o zavrnjenem dostopu.

Rešitev za odpravo te težave je torej ugotoviti razlog za sporočilo o napaki. Nato naredite spremembe.

V naslednjem pododdelku vas bom naučil, kako napisati izhod PowerShell v besedilno datoteko, ki ima atribut samo za branje.

Kako uporabljati PowerShell za pisanje v besedilno datoteko, ki je samo za branje

Če poskusite zapisati izhod PowerShell v besedilno datoteko, ki je samo za branje, boste prejeli sporočilo o napaki o zavrnjenem dostopu. Da bi to preizkusil, sem za eno od besedilnih datotek, ki smo jih ustvarili prej, omogočil pripisovanje samo za branje.

Kako uporabljati PowerShell za pisanje v besedilno datoteko, ki je samo za branje

Zdaj, če poskusim pisati v besedilno datoteko s spodnjim ukazom, bom prejel sporočilo o napaki o zavrnjenem dostopu.

|_+_|

Dobra novica je, da imajo vsi ukazi PowerShell, ki lahko pišejo v besedilno datoteko, imenovan parameter Sila . Če vključite ta ukaz v Out-File , Set-Content , oz Dodaj vsebino , lahko pišete v besedilno datoteko, ki je samo za branje.

Na primer, če spremenimo zadnji ukaz, kot je prikazano spodaj, ukaz ne bo vrnil nobenega sporočila o napaki.

mali snitch za okna
|_+_|

Tokrat je ukaz uspešen in besedilna datoteka je posodobljena!

Kako uporabljati PowerShell za pisanje v besedilno datoteko, ki je samo za branje

Kako napisati izhod PowerShell v besedilno datoteko in ustvariti mapo, če ne obstaja

Privzeto, če zaženete Out-File , Set-Content , oz Dodaj vsebino ukazi in podajte pot do besedilne datoteke, ki ne obstaja, bo datoteka ustvarjena.

Če pa podana pot vključuje mapo, ki ne obstaja, boste prejeli sporočilo o napaki. Da bi to preizkusil, bom zagnal spodnji ukaz, ki vključuje mapo, Brez nove vrstice – ta mapa ne obstaja na navedeni poti…

|_+_|

Ukaz vrne sporočilo o napaki.

Če želite odpraviti to težavo, uporabite ukaz Test-Path in preverite, ali pot obstaja. Nato, če ne obstaja, uporabite Nov artikel ukaz, da ga ustvarite, preden zaženete Out-File ukaz.

Tukaj je posodobljen skript. Zadnja vrstica je najnovejši ukaz v tem priročniku ...

|_+_| The Sila parameter je tisto, kar sili Nov artikel ustvariti vse mape, ki ne obstajajo na poti.

Če želite zagnati skript, ga kopirajte v nov dokument PowerShell ISE in ga zaženite. Preden zaženem skript, spodnji posnetek zaslona kaže, da mapa ne obstaja ...

Kako napisati izhod PowerShell v besedilno datoteko in ustvariti mapo, če ne obstaja

Po zagonu skripta mapa zdaj obstaja na poti ...

Končno, če odprete Brez nove vrstice mapo, boste našli besedilo, nonewline.txt .

Kako uporabljati PowerShell Concatenate za pisanje v besedilno datoteko

S PowerShell lahko združite vsebino dveh besedilnih datotek v eno besedilno datoteko. Postopek združevanja dveh besedilnih datotek v eno se imenuje povezovanje.

Za primer sem ustvaril dve datoteki, Processfile1.txt in Processfile2.txt . Nato uporabljam Get-Content za povezovanje datotek.

Na koncu podam rezultat Get-Content do Set-Content in zapišite združene datoteke v eno datoteko. Tukaj so ukazi …

|_+_|

Kako uporabljati PowerShell za zapisovanje datuma in časa v besedilno datoteko

Obstaja toliko primerov, ko boste morda morali napisati datum in čas v besedilno datoteko. En primer je, če želite ustvariti dnevnik napak.

Če na primer uporabljate skript PowerShell za izvajanje naloge na množici strežnikov, je dobro ustvariti datoteko dnevnika s strežniki, s katerimi se skript ne more povezati. Te datoteke dnevnika lahko nato uporabite za odpravljanje težav.

Poleg tega je pri ustvarjanju takšnih dnevniških datotek dobro vključiti tudi datum in časovni žig. Tako boste vedeli, kdaj se je skript poskušal povezati s strežnikom.

Dovolj pogovorov! Naj vam pokažem, kako napisati datumske in časovne žige v besedilno datoteko s PowerShell. V tem primeru imam seznam neobstoječih računalnikov v besedilni datoteki.

V spodnjem scenariju uporabljam Preizkusna povezava ukaz za ping računalnika. Potem, če se računalnik odzove, bo moj skript poskušal izvesti nekaj nalog na oddaljenem računalniku.

Vendar, če je Preizkusna povezava ukaz ne prejme odgovora iz oddaljenega računalnika, skript ustvari sporočilo o napaki s trenutnim datumom in časovnim žigom.

Končno skripti zapišejo dnevnike napak z datumskimi in časovnimi žigi v besedilno datoteko.

Tukaj je scenarij. Spodaj si oglejte podrobno razlago vsake vrstice ...

|_+_|

Če želite zagnati skript, ga kopirajte v nov dokument PowerShell ISE, nato zaženite skript. Ko sem zagnal skript, je ustvaril datoteko z imenom Sreda, 2. 6. 2021.txt - današnji datum.

Poleg tega je ustvaril vnose besedilno datoteko, Sreda, 2. 6. 2021.txt – glej spodnji posnetek zaslona…

Za razlago scenarija sem ga kopiral spodaj. Dodal sem tudi številke vrstic, da jih je enostavno sklicevati.

|_+_|

Tukaj je razčlenitev tega na videz zapletenega skripta PowerShell:

  1. V 1. vrstica , uporabil sem Get-Content ukaz za uvoz mojega seznama strežnikov v PowerShell. Strežniki so shranjeni v besedilni datoteki – Get-Content E: eportsITGServers.txt. Končno sem rezultat seznama strežnikov shranil v spremenljivko z imenom Strežniki .
  2. Nato notri 2. vrstica Ustvaril sem ime besedilne datoteke, v katero bom shranil svoja sporočila o napakah. Uporabil sem Get-Date ukaz za ustvarjanje besedilne datoteke.

    V 10. vrstici bom napisal, da skript PowerShell zapiše dnevnike napak v besedilno datoteko – več o tem kasneje. Nazadnje, da bi to datoteko lahko uporabil pozneje v skriptu, sem jo shranil v spremenljivko z imenom ime datoteke dnevnika .
  3. Scenarij se nadaljuje v 3. vrstica. V tej vrstici predstavljam Za vsakogar Metoda . Ta metoda mi omogoča ponavljanje vsebine datoteke, shranjene v Strežniki spremenljivka.

    Obstajata dva pomembna elementa Za vsakogar Metoda uvedeno v vrstici 3 – ( in {. Prvi zaklepaj, ( odpre Za vsakogar Metoda . Poleg tega oklepaj { odpre Za vsakogar blok ukaznih stavkov.
  4. Nato notri 4. vrstica , pingam vsak strežnik, shranjen v Strežniki spremenljivka. Med vsakim ciklom Za vsakogar blok ponovitev, vzame ime strežnika iz Strežniki spremenljivka – jo shrani v samodejno spremenljivko, $_ – nato uporabi ime strežnika, shranjeno v $_, kot ime računalnika v testu ping.

    Še enkrat, da bi olajšal dostop do rezultata testa ping, shranim rezultat v drugo spremenljivko, imenovano PingTest . Rezultat ping testa bo bodisi Prav oz Napačno .
  5. V 5. vrstica , predstavljam blok stavkov IF. Nato v stanje del bloka (), za vsak strežnik preverim, ali je rezultat testa ping, shranjen v PingTest spremenljivka je Prav oz Napačno .

    Poleg tega, če je rezultat testa ping Prav , skript PowerShell izvede nalogo v ukaznem bloku stavka IF. Ukazni blok stavka IF se odpre z oklepajem { v 5. vrstici.
  6. Nato notri 6. vrstica , zaženem ukaz v bloku stavkov IF. V 7. vrstica , zaprem ukazni blok stavka IF z oklepajem, }.
  7. 8. vrsticapredstavlja Drugače del stavke stavka IF. V tem bloku zaženem ukaz, ki ga želim zagnati na vseh strežnikih, ki so v test ping vrnili False.
  8. V 9. vrstica , skript ustvari trenutni datum in čas. Nato rezultat shrani v spremenljivko, imenovano datum in časovni žig . Skript bo to spremenljivko uporabil v 10. vrstici
  9. Nato notri 10. vrstica , skript PowerShell zapiše trenutni datum in čas v besedilno datoteko, ki sem jo ustvaril v vrstici 2. Ukaz v 9. vrstici je sestavljen iz 3 delov.

    V prvem delu skript ustvari del sporočila o napaki. Ta del vključuje spremenljivko datum in čas in nekaj presledkov.

    Nato v delu ukaza (sporočilo) skript vključuje dejansko sporočilo – Strežnik, $_ je bil preskočen, ker se ni odzval na ping. Samodejna spremenljivka $_ je ista spremenljivka, ki jo ustvari ForEaxch izjava v 4. vrstica .

    Nazadnje se celotno sporočilo pošlje v ukaz Out-File – ta je notri 11. vrstica .
  10. 12. vrsticazapre Drugače ukazni blok izjave z zaključnim oklepajem, }.
  11. Nato notri 13. vrstica , skript zapre Za vsakogar ukazni blok izjave z uro in zaključnim oklepajem, }.
  12. Končno v 14. vrstica , skript zapre Za vsakogar Metoda z zaključnim oklepajem, ). The Za vsakogar Metoda je bil odprt v vrstici 3.

Uporabite PowerShell za pisanje v besedilno datoteko: pogosto zastavljena vprašanja

Uporabite Powershell za pisanje v besedilno datoteko: pogosto zastavljena vprašanja 1. Kako pošljem rezultate PowerShell v besedilno datoteko?

Obstajajo 3 načini za pošiljanje rezultatov PowerShell v besedilno datoteko.

Prvič, lahko uporabite operator > poleg rezultata, ki ga želite poslati v besedilno datoteko, ki mu sledi presledek, nato pa celotna pot do besedilne datoteke.

Poleg tega lahko uporabite ukaz Out-File Cmdlets. Če želite uporabiti Out-File, pipe (|), izhod rezultata PowerShell v Out-File, ki mu sledi presledek, nato pa celotna pot do besedilne datoteke.

Končno lahko rezultate PowerShell dodate v obstoječo besedilno datoteko z dodajanjem vsebine. Uporaba je podobna datoteki Out-File, ki je bila razložena prej.

2. Kako shranim besedilno datoteko v PowerShell?

Lahko uporabite Nov artikel cmdlet, da ustvarite novo besedilno datoteko v PowerShell. Če želite dodati elemente v besedilno datoteko in jo samodejno shraniti, uporabite Dodaj vsebino cmdlet.

3. Kako preberem datoteko v PowerShell?

Uporabi Get-Content cmdlet za branje vsebine besedilne datoteke v PowerShell. Če želite na primer prebrati vsebino datoteke D: ext.txt, uporabite ukaz Get-Content D: ext.txt

Kako preberem datoteko v PowerShell

4. Kako bi prikazali vrednost, shranjeno v spremenljivki v konzoli PowerShell?

Vnesite ime spremenljivke v PowerShell in pritisnite tipko enter. Vrednost, shranjena v spremenljivki Powershell, bo prikazana v konzoli. Na primer za prikaz vrednosti, shranjenih v $Content spremenljivko, preprosto vnesite $Console v PowerShell in pritisnite tipko enter.

Kako bi prikazali vrednost, shranjeno v spremenljivki v konzoli PowerShell?

5. Kako dodate v PowerShell?

Najlažji način za dodajanje v PowerShell je, da vnesete številke, ločene z znakom seštevanja (+), nato pritisnete tipko enter. Če želite na primer dodati 2 in 5, vnesite 2 + 5 , nato pritisnite enter. Odgovor bo prikazan v konzoli.

Kako dodate v PowerShell

To je to! Naš posodobljen vodnik z izčrpnimi primeri za pisanje izhoda PowerShell v besedilno datoteko.

Upam, da vam je ta S Zone pomagala. Če se vam je zdelo v pomoč, glasujte z Da za spodnje vprašanje Ali je bila ta objava koristna.

Lahko pa postavite vprašanje, pustite komentar ali pošljete povratne informacije z obrazcem za pustite odgovor, ki ga najdete na koncu te strani.

Za več območij PowerShell S 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. Out-File
  2. Dodaj vsebino
  3. Set-Content
  4. Out-Null
  5. Get-Date
  6. about_Redirection