Cum să utilizați PowerShell pentru a scrie într-un fișier text
Această zonă S vă învață diferite moduri de a utiliza PowerShell pentru a scrie în fișier.
Ghidul începe prin a discuta despre diferitele cmdlet-uri PowerShell utilizate pentru a scrie ieșirea în fișier. Secțiunea acoperă Out-File , Add-Content și Set-Content Cmdlet cu exemple.
Apoi, în a doua secțiune, veți învăța cum să utilizați diferite PowerShell Metode pentru a manipula scrierea și actualizarea unui fișier text.
În cele din urmă, ultima secțiune acoperă toate exemplele posibile de scriere a rezultatelor în fișiere text în PowerShell. Exemplele variază de la un exemplu simplu, cum ar fi suprascrierea fișierelor text – până la exemple avansate, cum ar fi manipularea codificării fișierelor.
Dacă căutați un exemplu specific, extindeți Răsfoiți subiectele postărilor de mai jos și faceți clic pe subiect.
Ghidul are o secțiune de întrebări frecvente cu răspunsuri scurte la întrebările frecvente despre utilizarea PowerShell pentru a scrie rezultate într-un fișier text.
Răsfoiți subiectele postărilor
- Cmdlet-uri PowerShell utilizate pentru a scrie sau a actualiza fișiere text
- Metode PowerShell pentru fișierele text utilizate pentru a scrie sau a actualiza fișierele text
- Cum să găsiți metode pentru fișierele text PowerShell
- Cum să utilizați metoda de inserare PowerShell pentru a adăuga șiruri la fișierul text existent
- Cum să utilizați metoda PowerShell Remove pentru a șterge șiruri dintr-un fișier text existent
- Cum să utilizați metoda PowerShell Replace pentru a înlocui un șir într-un fișier text
- Cum să utilizați operatorii de redirecționare PowerShell pentru a adăuga la un fișier text
- Exemple de fișiere de scriere în text PowerShell
- Cum să scrieți rezultatul PowerShell într-un fișier text și să îl suprascrieți
- Cum se scrie ieșirea PowerShell într-un fișier text și într-o consolă
- Cum se scrie ieșirea PowerShell într-un fișier text fără linie nouă
- Cum se scrie ieșirea PowerShell într-un fișier text cu codificare UTF 8
- Cum să remediați eroarea PowerShell Write To File Access Denied
- Cum să utilizați PowerShell pentru a scrie într-un fișier text numai pentru citire
- Cum să scrieți rezultatul PowerShell într-un fișier text și să creați un folder dacă acesta nu există
- Cum să utilizați PowerShell Concatenate pentru a scrie într-un fișier text
- Cum să utilizați PowerShell pentru a scrie data și ora într-un fișier text
- Utilizați PowerShell pentru a scrie într-un fișier text: Întrebări frecvente
- Referințe și lecturi suplimentare
Cmdlet-uri PowerShell utilizate pentru a scrie sau a actualiza fișiere text
Această secțiune prezintă cele patru cmdlet-uri PowerShell utilizate pentru a scrie, actualiza sau înlocui fișierele text. În fiecare subsecțiune din această secțiune, veți învăța cum să utilizați Out-File , Adauga continut , și Set-Conținut .
Cum se scrie ieșirea PowerShell într-un fișier text cu Out-File
Scrierea ieșirii într-un fișier text este la fel de simplă ca și transmiterea ieșirii primei comenzi către Out-File și specificați calea către fișierul text.
În primul meu exemplu, voi introduce un text în promptul PowerShell, apoi îl voi trimite către Out-File .
|_+_| Dacă fișierul nu există, Out-File îl va crea în calea specificată de FilePath parametru.Comanda se va executa și va reveni la promptul PowerShell.
Aici este fișierul creat în calea specificată. A doua imagine este conținutul fișierului text.
Puteți utiliza această metodă pentru a scrie rezultatul oricărei comenzi PowerShell într-un fișier text.
În acest al doilea exemplu, voi scrie rezultatul Get-Process într-un fișier text. Iată comanda:
|_+_|Comanda va executa și va crea fișierul processes.txt. Rezultatul este afișat în a doua imagine de mai jos:
Cum să adăugați ieșirea PowerShell la un fișier text existent cu Out-File
O altă modalitate de a folosi PowerShell pentru a scrie într-un fișier este să adăugați (adăugați mai mult conținut) la un fișier text existent cu ceva conținut.
Urmând primul exemplu, comanda de mai jos va adăuga (adăuga) informațiile înainte de conductă (|) în partea de jos a fișierului, first-file.txt.
|_+_|Fișierul are acum o a doua linie, cu textul Acesta va fi atașat sub prima linie. Vezi imaginea de mai jos.
Cum se utilizează Adauga continut În PowerShell pentru a adăuga la un fișier text
De asemenea, puteți utiliza PowerShell pentru a scrie în fișier, adăugând la un fișier text existent cu Adauga continut cmdlet.
Pentru a adăuga Aceasta va fi atașată sub a doua linie la fișierul nostru existent, first-file.txt, introduceți această comandă și apăsați Enter.
|_+_|Fișierul va avea acum o a treia linie cu textul Acesta va fi atașat sub a doua linie. Vezi imaginea de mai jos:
În exemplul final, voi adăuga (scrie) rezultatul lui Obține-Proces Cmdlet pentru processes.txt creat în Out-File exemplu.
În acest exemplu, voi rula comenzile de mai jos:
|_+_| |_+_|Prima comandă salvează rezultatul Obține-Proces în Proces variabil. A doua comandă adaugă ieșirea din variabilă la fișierul processes.txt.
Puteți utiliza una dintre metodele acoperite în această zonă S pentru a scrie într-un fișier (sau a adăuga la un fișier existent) cu PowerShell!
Cum se utilizează Set-Conținut În PowerShell Pentru a scrie într-un fișier text
Până acum, în această secțiune, v-am arătat cum să utilizați Out-File pentru a scrie într-un fișier text. De asemenea, ați văzut cum să utilizați aceeași cmdlet pentru a adăuga la un fișier text.
În sfârșit, în ultima subsecțiune v-am arătat cum să utilizați Adauga continut pentru a adăuga rezultatul la un fișier text.
Această subsecțiune introduce Set-Conținut . O diferență între acest cmdlet și celelalte 2 deja discutate este aceea în timp ce Out-File și Adauga continut poate adăuga conținut la un fișier text, Set-Conținut suprascrie conținutul.
Deci, comanda de mai jos suprascrie conținutul fișierului cu un conținut nou specificat în Valoare parametru.
|_+_|Aici este fișierul text – tot conținutul său anterior a fost înlocuit!
Fișier text PowerShell Metode Folosit pentru a scrie sau a actualiza fișiere text
Prima secțiune a acestui ghid a acoperit diferite cmdlet-uri PowerShell utilizate pentru a scrie rezultate în fișierele text. În această secțiune, veți învăța cum să efectuați aceleași sarcini cu fișierul text PowerShell Metode .
Secțiunea începe prin a vă învăța cum să găsiți fișierul text disponibil Metode . Apoi, în sub-secțiunile ulterioare, veți învăța cum să utilizați aceste PowerShell Metode pentru a scrie, actualiza și suprascrie conținutul fișierelor text.
Voi folosi fișierul text din captura de ecran de mai jos pentru a explica cum să găsesc PowerShell Metode disponibil atunci când enumerați un fișier text cu Obține conținut Cmdlet. Mai mult, voi folosi acest fișier text pentru exemplele din toate sub-secțiunile din această secțiune.
Cum să găsiți metode pentru fișierele text PowerShell
Pentru a vedea o listă cu toate Metode și Operatori disponibil într-un fișier text, canalizează ieșirea fișierului Obține conținut comanda la Obțineți-membru .
Iată un exemplu de comandă...
|_+_|Comanda listează o grămadă de PowerShell Metode . Cu toate acestea, în scopul acestui ghid, sunt interesat de următoarele Metode :
- Introduce
- Elimina
- A inlocui
În plus, voi folosi și Index de Metoda din ilustrațiile mele. Le-am evidențiat pe acestea Metode în rezultatul ultimei comenzi...
În următoarele sub-secțiuni, veți învăța cum să utilizați aceste PowerShell Metode disponibil atunci când enumerați un fișier text cu Obține conținut cmdlet.
Cum să utilizați PowerShell Introduce Metoda de a adăuga șiruri la fișierul text existent
Sintaxa generală a PowerShell Introduce Metoda este…
|_+_|The startindex este primul caracter al subșirului în care vrem să inserăm un text înainte. În plus, cel valoare șir este textul pe care doriți să-l inserați.
O modalitate ușoară de a determina startIndex este de a calcula Index de valoarea șirului în care doriți să inserați un text.
Știu că cea mai mare parte din ceea ce am spus ți-ar putea suna ca grecesc! Deci, permiteți-mi să explic cu un exemplu în fișierul meu text.
Pentru început, vreau să salvez calea către fișierul meu într-o variabilă. Acest lucru îmi va fi mai ușor să salvez conținutul actualizat mai târziu.
|_+_|În continuare, voi folosi Obține conținut comandă pentru a lista conținutul fișierului text. Apoi, salvați rezultatul într-o altă variabilă...
|_+_|Înainte de a trece la pasul următor, permiteți-mi să aduc înapoi sintaxa PowerShell Introduce Metodă…
|_+_|După cum am sugerat mai devreme, cel mai simplu mod de a determina startIndex – poziția în fișierul text în care dorim să inserăm un text – este să folosim Index de Metodă .
În acest exemplu, vreau să inserez cuvântul nu înainte de a suprascrie...
Primul pas este determinarea Index de valoarea suprascrierii. Comanda de mai jos face treaba...
|_+_|Rezultatul este 10.
Țineți minte că asta Index de de 10 este exact la începutul primului caracter al cuvântului, suprascrie.
Având în vedere acest lucru, dacă vreau să inserez un șir (text, numere, caractere – orice), înainte de a suprascrie, voi folosi 10 ca startIndex .
Mai mult, dacă vreau să inserez ceva la sfârșitul șirului, suprascrie, voi număra numărul de caractere de la primul caracter – în acest caz o – până la sfârșitul șirului, suprascrie – care va fi 18
Rețineți că spațiile sunt numărate și ca caractere.Dar în scopul acestui exemplu, vreau să inserez cuvântul nu înainte de a suprascrie...
Aceasta este comanda care face această magie...
|_+_| Am adăugat un spațiu după nu pentru a crea un spațiu între not și suprascriere.În comandă, 10 este startIndex , nu este valoare șir . Această comandă urmează sintaxa metodei de inserare de mai jos...
|_+_|Și iată rezultatul ultimei comenzi din PowerShell. Rezultatul include cuvântul pe care l-am inserat!
Dar nu am terminat încă. Pasul final este să scrieți această valoare în același fișier text.
Pentru a face acest lucru, trebuie să folosim Set-Conținut comanda. Dacă vă amintiți, în ultima secțiune, am menționat că, spre deosebire de celelalte 2 cmdlet-uri pe care le-am discutat în acea secțiune, Set-Conținut suprascrie conținutul unui fișier text.
Deci, pentru a scrie rezultatul ultimei comenzi PowerShell în același fișier text, rulați comanda de mai jos...
|_+_|Odată ce rulez această ultimă comandă și îmi deschid fișierul text, cuvântul, not este acum parte din șirurile din fișierul text!
Cum să utilizați PowerShell Elimina Metodă de ștergere a șirurilor dintr-un fișier text existent
Când am introdus această secțiune, am menționat că voi da exemple cu PowerShell Elimina Metodă. În această subsecțiune, veți învăța cum să utilizați această metodă PowerShell pentru a șterge șiruri dintr-un fișier text.
Să începem cu sintaxa lui Elimina Metodă:
|_+_| |_+_|În prima sintaxă, pur și simplu specificați startIndex . Mai mult, în a doua sintaxă, trebuie să specificați startIndex si numara .
După cum am explicat în ultima subsecțiune, puteți obține startIndex prin calculul Index de a sintaxei pe care doriți să o eliminați.
În plus, pentru a doua sintaxă, numara este numărul de caractere – din startIndex – doriți să eliminați.
Deci, să presupunem că vrem să eliminăm șirul, care nu este adăugat în fișierul nostru text în ultima sub-secțiune. Primul pas este determinarea Index de a primului caracter al șirului, nu.
Continuând din exemplele din ultima sub-secțiune, a treia comandă de mai jos va determina Index de valoare:
|_+_|Rezultatul este 10...
cum se reduce utilizarea avast cpu
Mergând mai departe, pentru a elimina șirul, nu, vom folosi a doua sintaxă a lui Elimina Metodă.
|_+_|În exemplul meu, the startIndex este 10. Mai devreme, am explicat că numara este numărul de caractere – din startIndex – doriți să eliminați.
Deci, vrem să eliminăm șirul, nu – care este de 3 caractere din startIndex . De aceea numara este 3.
Pe baza acestor informații, comanda de mai jos va elimina șirul, nu din fișierul text.
|_+_|Iata rezultatul...
Dacă te uiți la rezultat îndeaproape, vei observa că există spațiu dublu între voință și suprascriere. Pentru a elimina unul dintre spații, faceți numara 4…
|_+_|Acum spațiul a dispărut!
În cele din urmă, utilizați comanda PowerShell de mai jos pentru a scrie textul actualizat în fișier...
|_+_|După rularea comenzii, fișierul este actualizat fără șir, nu. Vezi mai jos capturile de ecran...
Cum să utilizați PowerShell A inlocui Metoda de a înlocui un șir într-un fișier text
În ultimele 2 subsecțiuni ale acestei secțiuni v-am învățat cum să utilizați Introduce și Elimina Metode PowerShell pentru a scrie într-un fișier text.
În această ultimă subsecțiune, veți învăța cum să înlocuiți un șir cu un alt șir. Ca de obicei, să începem cu sintaxa lui A inlocui Metodă:
|_+_|Spre deosebire de celelalte 2 Metode care necesită să determinați startindex , sau numara , cel A inlocui Metoda nu. Tot ce aveți nevoie pentru a înlocui un șir este să specificați șirul pe care doriți să îl înlocuiți, apoi să specificați noul șir.
Pentru a ilustra cu un exemplu, să revenim la fișierul text. În acest exemplu, vreau să înlocuiesc șirul, să suprascriu cu scrieți peste...
A treia comandă de mai jos va face treaba. Am introdus din nou primele două comenzi, astfel încât să pot obține versiunea actualizată a fișierului text în variabilele mele.
În plus, ultima comandă PowerShell scrie rezultatul actualizat în același fișier text...
|_+_|După rularea comenzilor, fișierul text va fi actualizat. Vedeți captura de ecran de mai jos...
Cum să utilizați operatorii de redirecționare PowerShell pentru a adăuga la un fișier text
Windows PowerShell are un set de operatori de redirecţionare . Puteți folosi doi dintre acești operatori de redirecționare pentru a scrie sau a actualiza fișiere text în PowerShell.
Sunt conștient că operatorii de redirecționare nu se încadrează în această secțiune despre scrierea într-un fișier text cu metode PowerShell. Cu toate acestea, aceasta este singura secțiune logică pe care o pot include acest subiect.Pentru a crea un fișier text nou și a scrie în el, utilizați operatorul de redirecționare >. Dacă utilizați acest operator pentru a scrie fluxul PowerShell într-un fișier text, acesta suprascrie conținutul fișierului text.
Cu toate acestea, dacă doriți să actualizați un fișier text fără a-i suprascrie conținutul, utilizați operatorul de redirecționare >>.
Pentru a ilustra cum funcționează acești operatori, executați următoarele comenzi.
|_+_| |_+_|Prima comandă creează un fișier text, E: apoarteRedirectExample.txt . Apoi, scrie redirecționarea în fișierul text.
În plus, a doua comandă adaugă linia 2 de redirecționare la același fișier text. Iată comenzile din PowerShell și o captură de ecran a fișierului text.
Exemple de fișiere de scriere în text PowerShell
În această ultimă secțiune, voi împărtăși mai multe exemple pentru a scrie într-un fișier text în PowerShell. În exemple, voi aplica abilitățile abordate în primele două secțiuni ale acestui ghid.
Cum să scrieți rezultatul PowerShell într-un fișier text și să îl suprascrieți
Există trei moduri de a suprascrie conținutul unui fișier text. În primul rând, dacă rulați Out-File comanda fără Adăuga parametrul, acesta va suprascrie conținutul fișierului text.
În plus, puteți suprascrie conținutul unui fișier text cu ajutorul Set-Conținut comanda. În cele din urmă, puteți utiliza > operator de redirecționare pentru a suprascrie conținutul unui text.
Pentru a da câteva exemple, comenzile de mai jos vor suprascrie conținutul fișierului text, E: apoarteoverwrite.txt :
|_+_|Captura de ecran de mai jos arată comenzile și conținutul final al fișierului text.
Cum se scrie ieșirea PowerShell într-un fișier text și într-o consolă
Dacă doriți să scrieți o ieșire PowerShell într-un fișier text și să afișați rezultatul și pe consolă, puteți utiliza una dintre aceste două cmdlet-uri - Adauga continut sau Set-Conținut .
Cele două cmdlet-uri au un parametru numit Trece prin . Dacă utilizați Trece prin parametru, PowerShell scrie ieșirea în calea fișierului text specificat; apoi îl afișează și pe consolă.
Cu toate acestea, cmdlet-ul pe care îl utilizați depinde dacă doriți să adăugați fișierului text sau să suprascrieți conținutul fișierului text. Pentru a adăuga la fișierul text, utilizați Adauga continut .
Cu toate acestea, dacă intenționați să suprascrieți conținutul fișierului text, utilizați Set-Conținut . Voi ilustra cu două exemple.
Pentru a adăuga propoziția, aceasta este atașată de Adauga continut , la fișierul text specificat și afișați mesajul pe consolă, executați comanda de mai jos:
|_+_|Captura de ecran de mai jos arată rezultatul comenzii din PowerShell și rezultatul fișierului text.
Dimpotrivă, pentru a suprascrie conținutul fișierului text și pentru a scrie rezultatul și pe consolă, utilizați comanda de mai jos...
|_+_|În cele din urmă, aici este rezultatul comenzii PowerShell afișat pe consolă și, de asemenea, scris în fișierul text. Cu toate acestea, de data aceasta, a suprascris conținutul fișierului text.
Cum se scrie ieșirea PowerShell într-un fișier text fără linie nouă
Dacă rulați această comandă PowerShell, în loc să scrieți rezultatul pe aceeași linie din fișierul text, scrie cele două șiruri, Victor și Ashiedu în două rânduri...
|_+_|
Cu toate acestea, dacă scopul tău este să scrieți ambele șiruri pe aceeași linie, trebuie să includeți un Out-File Parametrul cmdlet apelat Fără linie nouă .
|_+_|Acum, fișierul text are ambele șiruri pe aceeași linie! Cu toate acestea, nu există spațiu între cele două șiruri - care în acest caz este numele și prenumele unei persoane.
Pentru a include un spațiu între cele două nume, adăugați un spațiu înaintea celui de-al doilea șir, Ashiedu. Comanda de mai jos este aceeași cu comanda anterioară, cu excepția spațiului dinaintea celui de-al doilea șir.
|_+_|Aici este fișierul text acum...
Dacă nu doriți să suprascrieți fișierul text, includeți fișierul Adăuga parametrul din ultima comandă.Cum se scrie ieșirea PowerShell într-un fișier text cu codificare UTF 8
The Out-File Cmdlet are un parametru numit Codificare . Când scrieți rezultatul PowerShell într-un fișier text, puteți utiliza acest parametru pentru a specifica codificarea fișierului.
În plus, dacă doriți să modificați codificarea unui fișier text existent, puteți canaliza ieșirea fișierului Obține conținut comanda la Out-File .
The Codificare parametrul acceptă UTF8, ASCII, UTF32 și multe altele. Puteți specifica oricare dintre tipurile de codare.
Deci, deoarece această subsecțiune este despre scrierea ieșirii PowerShell într-un fișier text cu codificare UTF8, iată exemple de comenzi care pot realiza acest lucru...
|_+_| |_+_|Prima comandă scrie rezultatul într-un fișier text cu codificare UTF8.
În plus, a doua comandă importă conținutul unui fișier text în PowerShell cu Obține conținut . Apoi, scrie același conținut într-un alt fișier text cu codificare UTF8.
Cum să remediați eroarea PowerShell Write To File Access Denied
Uneori, când încercați să scrieți rezultatul PowerShell într-un fișier text, este posibil să primiți un mesaj de eroare cu acces refuzat. Această eroare poate fi cauzată de mai multe motive.
Un motiv pentru care este posibil să primiți un mesaj de eroare cu acces refuzat este dacă încercați să scrieți într-un fișier text deschis. De asemenea, dacă încercați să scrieți într-un fișier text care este utilizat de un alt proces Windows, este posibil să primiți un mesaj de eroare cu acces refuzat.
Un alt motiv pentru care este posibil să primiți o eroare de acces refuzat este dacă încercați să creați un fișier text cu un caracter neacceptat. De exemplu, dacă încercați să creați un fișier text care include un / în numele său, este posibil să primiți un mesaj de eroare cu acces refuzat.
În cele din urmă, dacă un fișier text are un atribut Read-Only, veți primi și mesajul de eroare acces refuzat.
Deci, soluția pentru a remedia această problemă este identificarea motivului mesajului de eroare. Apoi, faceți modificări.
În următoarea subsecțiune, vă voi învăța cum să scrieți ieșirea PowerShell într-un fișier text care are un atribut Read-Only.
Cum să utilizați PowerShell pentru a scrie într-un fișier text numai pentru citire
Dacă încercați să scrieți ieșirea PowerShell într-un fișier text Numai citire, veți primi un mesaj de eroare cu acces refuzat. Pentru a testa acest lucru, am activat atributul Read-Only pentru unul dintre fișierele text pe care le-am creat mai devreme.
Acum, dacă încerc să scriu în fișierul text cu comanda de mai jos, voi primi un mesaj de eroare cu acces refuzat.
|_+_|
Vestea bună este că toate comenzile PowerShell care pot scrie într-un fișier text au un parametru numit Forta . Dacă includeți această comandă în Out-File , Set-Conținut , sau Adauga continut , puteți scrie într-un fișier text numai pentru citire.
De exemplu, dacă modificăm ultima comandă așa cum se arată mai jos, comanda nu va returna niciun mesaj de eroare.
|_+_|De data aceasta, comanda are succes și fișierul text este actualizat!
Cum să scrieți rezultatul PowerShell într-un fișier text și să creați un folder dacă acesta nu există
În mod implicit, dacă rulați Out-File , Set-Conținut , sau Adauga continut comenzi și specificați o cale către un fișier text care nu există, fișierul va fi creat.
Cu toate acestea, dacă calea specificată include un folder care nu există, veți primi un mesaj de eroare. Pentru a testa acest lucru, voi rula comanda de mai jos care include un folder, Fără linie nouă – acest folder nu există în calea specificată...
|_+_|Comanda returnează un mesaj de eroare.
Pentru a remedia această problemă, utilizați comanda Test-Path pentru a verifica dacă calea există. Apoi, dacă nu există, utilizați Nou-Articol comandă pentru a o crea înainte de a rula Out-File comanda.
Iată scriptul actualizat. Ultima linie este cea mai recentă comandă din acest ghid...
|_+_| The Forta parametrul este ceea ce forțează Nou-Articol pentru a crea toate folderele care nu există în cale.Pentru a rula scriptul, copiați-l într-un nou document PowerShell ISE și rulați-l. Înainte de a rula scriptul, captura de ecran de mai jos arată că folderul nu există...
După rularea scriptului, folderul există acum în calea...
În cele din urmă, dacă deschideți Fără linie nouă folder, veți găsi textul, nonnewline.txt .
Cum să utilizați PowerShell Concatenate pentru a scrie într-un fișier text
Puteți utiliza PowerShell pentru a uni conținutul a două fișiere text într-un singur fișier text. Procesul de unire a două fișiere text într-unul singur se numește concatenare.
Pentru a da un exemplu, am creat două fișiere, Processfile1.txt și Processfile2.txt . Apoi, folosesc Obține conținut pentru a concatena fișierele.
În cele din urmă, iau rezultatul Obține conținut la Set-Conținut și scrieți fișierele îmbinate într-un singur fișier. Iată comenzile...
|_+_|Cum să utilizați PowerShell pentru a scrie data și ora într-un fișier text
Există atât de multe situații în care poate fi necesar să scrieți data și ora într-un fișier text. Un exemplu este dacă doriți să generați un jurnal de erori.
De exemplu, dacă utilizați un script PowerShell pentru a efectua o sarcină pe o mulțime de servere, este o idee bună să creați un fișier jurnal cu servere la care scriptul nu s-a putut conecta. Aceste fișiere jurnal pot fi apoi utilizate pentru depanare.
În plus, atunci când creați astfel de fișiere jurnal, este, de asemenea, o idee bună să includeți o ștampilă de dată și oră. În acest fel, veți ști când scriptul a încercat să se conecteze la server.
Ajunge de discuții! Permiteți-mi să vă arăt cum să scrieți marcaje de dată și oră într-un fișier text cu PowerShell. În acest exemplu, am o listă de computere inexistente într-un fișier text.
În scriptul de mai jos, folosesc Test de conexiune comandă pentru a ping un computer. Apoi, dacă computerul răspunde, scriptul meu va încerca să efectueze unele sarcini pe computerul de la distanță.
Cu toate acestea, dacă Test de conexiune comanda nu primește un răspuns de la computerul de la distanță, scriptul generează un mesaj de eroare cu data și ora curentă.
În cele din urmă, script-urile scrie jurnalele de eroare cu ștampile de dată și oră într-un fișier text.
Aici este scenariul. Vezi mai jos o explicație detaliată a fiecărei rânduri...
|_+_|Pentru a rula scriptul, copiați-l într-un nou document PowerShell ISE, apoi executați scriptul. Când am rulat scriptul, a creat un fișier numit Miercuri 02-06-2021.txt - data de azi.
În plus, a creat intrările în fișierul text, Miercuri 02-06-2021.txt - vezi captura de ecran de mai jos...
Pentru a explica scenariul, l-am copiat mai jos. Am adăugat, de asemenea, numere de rând pentru a le face mai ușor de referit.
|_+_|Iată o detaliere a acestui script PowerShell aparent complex:
- În Linia 1 , am folosit Obține conținut comandă pentru a importa lista mea de servere în PowerShell. Serverele sunt salvate într-un fișier text – Get-Content E: eportsITGServers.txt. În cele din urmă, am salvat rezultatul listei de servere într-o variabilă numită Servere .
- Apoi în Randul 2 Am creat numele fișierului text pe care voi salva mesajele mele de eroare. Am folosit Obține data comandă pentru a crea fișierul text.
În linia 10, voi scrie scriptul PowerShell care scrie jurnalele de eroare în fișierul text - mai multe despre asta mai târziu. În cele din urmă, pentru a putea folosi acest fișier mai târziu în script, l-am salvat într-o variabilă numită nume fișier jurnal . - Scenariul continuă în Linia 3. În această linie, vă prezint Pentru fiecare Metodă . Această metodă îmi permite să repet conținutul fișierului salvat în Servere variabil.
Există două elemente importante ale Pentru fiecare Metodă introdus în linia 3 – ( și {. Prima paranteză de deschidere, ( deschide Pentru fiecare Metodă . În plus, paranteza, { deschide Pentru fiecare bloc de instrucțiuni de comandă. - Apoi în Linia 4 , dau ping la fiecare server salvat în Servere variabil. În timpul fiecărui ciclu al Pentru fiecare blocare iterație, ia un nume de server de la Servere variabilă – o salvează într-o variabilă automată, $_ – apoi, utilizează numele serverului salvat în $_ ca nume de computer în testul ping.
Încă o dată, pentru a facilita accesul la rezultatul testului ping, salvez rezultatul într-o altă variabilă numită PingTest . Rezultatul testului ping va fi fie Adevărat sau Fals . - În Linia 5 , introduc blocul de instrucțiuni IF. Apoi, în condiție parte a blocului (), pentru fiecare server, testez dacă rezultatul testului ping, salvat în PingTest variabila este Adevărat sau Fals .
În plus, dacă rezultatul testului ping este Adevărat , scriptul PowerShell execută sarcina din blocul de comandă al instrucțiunii IF. Blocul de comandă al instrucțiunii IF se deschide cu o paranteză { în linia 5. - Apoi în Linia 6 , rulez comanda în blocul de instrucțiuni IF. În Linia 7 , închid blocul de comandă al instrucțiunii IF cu o paranteză de închidere, }.
- În Linia 9 , scriptul generează data și ora curente. Apoi salvează rezultatul într-o variabilă numită ștampilă de dată și oră . Scriptul va folosi această variabilă în linia 10
- Apoi în Linia 10 , scriptul PowerShell scrie data și ora curentă în fișierul text pe care l-am creat în linia 2. Comanda din linia 9 este în 3 părți.
În prima parte, scriptul generează o parte a mesajului de eroare. Această parte include variabila dateandtimestamp și câteva spații.
Apoi, în partea comenzii (mesajul), scriptul include un mesaj real – Serverul, $_ a fost omis deoarece nu a răspuns la ping. Variabila automată, $_ este aceeași variabilă generată de ForEaxch declarație în Linia 4 .
În cele din urmă, întregul mesaj este transmis către comanda Out-File - acesta este în Linia 11 . - Apoi în Linia 13 , scenariul închide Pentru fiecare bloc de comandă de instrucțiune cu un ceas o paranteză de închidere, }.
- În cele din urmă, în Linia 14 , scenariul închide Pentru fiecare Metodă cu suportul de închidere, ). The Pentru fiecare Metodă a fost deschis pe linia 3.
Utilizați PowerShell pentru a scrie într-un fișier text: Întrebări frecvente
1. Cum trimit rezultate PowerShell într-un fișier text? Există 3 moduri de a trimite rezultatele PowerShell într-un fișier text.
În primul rând, puteți utiliza operatorul > de lângă rezultatul pe care doriți să-l trimiteți într-un fișier text, urmat de un spațiu, apoi calea completă către fișierul text.
În plus, puteți utiliza comanda Out-File Cmdlets. Pentru a utiliza Out-File, pipe (|), rezultatul PowerShell la Out-File urmat de un spațiu, apoi calea completă către fișierul text.
În cele din urmă, puteți atașa rezultatele PowerShell la un fișier text existent utilizând Add-Content. Utilizarea este similară cu Out-File explicată mai devreme.
Puteți folosi Nou-Articol cmdlet pentru a crea un fișier text nou în PowerShell. Pentru a adăuga elemente la fișierul text și a-l salva automat, utilizați Adauga continut cmdlet.
3. Cum citesc un fișier în PowerShell?Folosește Obține conținut cmdlet pentru a citi conținutul unui fișier text în PowerShell. De exemplu, pentru a citi conținutul D: ext.txt, utilizați comanda Get-Content D: ext.txt

Introduceți numele variabilei în PowerShell și apăsați tasta Enter. Valoarea stocată în variabila Powershell va fi afișată în consolă. De exemplu, pentru a afișa valorile stocate în $Conținut variabilă, introduceți pur și simplu $Console în PowerShell și apăsați tasta Enter.

Cel mai simplu mod de a adăuga în PowerShell este să introduceți numerele separate prin semnul de adăugare (+), apoi apăsați tasta Enter. De exemplu, pentru a adăuga 2 și 5, introduceți 2 + 5 , apoi apăsați enter. Răspunsul va fi afișat în consolă.

Aia este! Ghidul nostru actualizat cu exemple complete pentru a scrie ieșirea PowerShell într-un fișier text.
Sper că ați găsit această zonă S utilă. Dacă vi s-a părut util, vă rugăm să votați Da la întrebarea A fost utilă această postare de mai jos.
Alternativ, puteți pune o întrebare, lăsa un comentariu sau oferi feedback cu formularul Lăsați un răspuns aflat la sfârșitul acestei pagini.
În cele din urmă, pentru mai multe zone PowerShell S, vizitați pagina noastră de instrucțiuni Windows PowerShell. De asemenea, s-ar putea să găsească foarte utilă pagina noastră de lucru de acasă.


