Acasă
» WINDOWS
»
Cum se salvează ieșirea comenzii într-un fișier în Promptul de comandă și PowerShell
Cum se salvează ieșirea comenzii într-un fișier în Promptul de comandă și PowerShell
Pentru a salva ieșirea comenzii într-un fișier în Windows 10, apăsați butonul „add” >pentru a crea sau a suprascrie un fișier sau >>pentru a-l adăuga. Atât Command Prompt, cât și PowerShell acceptă acești operatori, dar utilizează sintaxa căii pentru shell-ul pe care l-ați deschis. Redirecționarea trimite ieșirea către fișier în loc de consolă.
Salvați ieșirea din promptul de comandă într-un fișier
Crearea sau suprascrierea unui fișier text
Deschideți Linia de comandă, introduceți comanda pe care doriți să o executați, adăugați un spațiu și >, apoi furnizați o cale de fișier. De exemplu:
Apăsați Enter. Linia de comandă creează ipconfig.txtdacă nu există; dacă este deja acolo, >înlocuiește conținutul acesteia. %USERPROFILE%Se extinde la folderul de utilizator Windows și protejează căile între ghilimele cu spații. Înlocuiți calea exemplu dacă Desktopul a fost mutat sau redirecționat.
Linia de comandă redirecționează ieșirea comenzii către un fișier, înlocuind conținutul anterior dacă fișierul există deja.
Puteți utiliza un nume de fișier mai scurt, cum ar fi output.txt, pentru a salva în directorul curent al Promptului de comandă. Introduceți comanda singură pentru a vedea directorul respectiv. Folderul de destinație trebuie să existe deja, iar contul dvs. trebuie să aibă permisiunea de a scrie acolo. Documentele de referință ale Promptului de comandăcd Microsoft prezintă redirecționarea fișierelor și utilizarea ghilimelelor în jurul căilor care conțin spații.
Adăugarea ieșirii, afișarea unui fișier sau includerea erorilor
Folosește două semne „mai mare decât” atunci când vrei să păstrezi rezultatul anterior și să adaugi noul rezultat la sfârșit:
Folosește două semne mai mare decât în Linia de comandă pentru a adăuga ieșirea la un fișier.
Pentru a citi textul salvat din Linia de comandă, executați:
type "%USERPROFILE%\Desktop\ipconfig.txt"
În mod implicit, >capturează ieșirea standard. Mesajele de eroare scrise în fluxul de erori separat pot apărea în continuare în consolă. Pentru a pune ieșirea standard și ieșirea de eroare în același fișier, utilizați această ordine:
Înlocuiți your-commandcu comanda pe care o executați. De asemenea, puteți trimite erorile separat într-un fișier separat cu 2>, de exemplu your-command 2> "%USERPROFILE%\Desktop\errors.txt".
Salvați ieșirea PowerShell într-un fișier
PowerShell acceptă aceiași operatori >și >>. Pentru o comandă PowerShell, cum ar fi Get-Process, puteți utiliza și Out-Filepentru a face explicite destinația și codificarea textului:
Aceasta creează sau suprascrie fișierul. $HOMEeste variabila directorului principal al PowerShell; modificați calea între ghilimele pentru a salva în altă parte. Forma mai scurtă este . Documentația Out-FileGet-Process > "$HOME\Desktop\processes.txt" de la Microsoft descrie trimiterea ieșirii canalului către un fișier.
Out-File scrie ieșirea comenzii PowerShell într-un fișier denumit.
Pentru a adăuga rezultate noi, utilizați >>sau -Appendparametrul cu Out-File. Pentru a afișa un fișier salvat în PowerShell, executați:
Get-Content -Path "$HOME\Desktop\processes.txt"
Dacă doriți ca rezultatul să apară în consolă în timp ce este salvat, trimiteți-l prin Tee-Object:
Tee-Object salvează ieșirea pipeline-ului în timp ce o transmite pentru afișare în consolă.
Tee-Objectsalvează datele din conductă și le transmite mai departe; când este ultima dată în conductă, afișează și rezultatul. Folosește-l pentru a vizualiza și păstra ieșirea simultan. Consultați documentația Tee-Object de la Microsoft .
Alegeți operatorul de redirecționare potrivit
Operator
Ce face
Utilizare tipică
>
Scrie ieșirea într-un fișier, înlocuind conținutul curent al acestuia.
Începeți un jurnal nou.
>>
Adaugă ieșirea la sfârșitul unui fișier.
Păstrați un jurnal de funcționare.
2>
Scrie ieșirea de eroare într-un fișier separat.
Păstrați erorile separat de ieșirea normală.
2>&1
Combină ieșirea de eroare cu ieșirea standard înainte de redirecționare.
Păstrați ambele fluxuri împreună într-un singur jurnal.
În PowerShell, >redirecționează în mod implicit fluxul Success. Un script PowerShell poate trimite avertismente, mesaje detaliate sau alte ieșiri către fluxuri separate; utilizați *>atunci când doriți să redirecționați toate fluxurile sale de ieșire către un fișier. Ghidul de redirecționare PowerShell de la Microsoft explică numerele și combinațiile fluxurilor.
Verificați codarea și formatul de ieșire
Codarea caracterelor fișierului text depinde de versiunea shell și de comandă. În Windows PowerShell 5.1, >se Out-Filescrie UTF-16LE în mod implicit; PowerShell 6 și versiunile ulterioare au implicit UTF-8 fără un marcaj de ordine a octeților. Semnificația unei setări explicite UTF-8 diferă, de asemenea, în comportamentul său BOM între versiuni. Dacă un alt program trebuie să citească fișierul, alegeți o codificare pe care o acceptă și utilizați aceeași codificare la adăugare. Ghidul de codificare PowerShell de la Microsoft listează aceste diferențe de versiune. PowerShell 7.4 a modificat, de asemenea, modul în care redirecționarea gestionează ieșirea standard din programele native, astfel încât comportamentul octet cu octet poate diferi de versiunile mai vechi.
Out-Filescrie o reprezentare text lizibilă de către om a obiectelor PowerShell; nu păstrează obiectele originale ca fișier de date. Dacă aveți nevoie de un rezultat prietenos cu foile de calcul din obiecte precum procese, utilizați Export-Csvcu un .csvnume de fișier. O extensie diferită singură nu modifică formatul de ieșire.
Depanare rapidă
Fișierul este gol: comanda poate să nu fi produs nicio ieșire standard sau mesajul acesteia poate fi ajuns în fluxul de erori. Încercați să adăugați 2>&1.
Fișierul este în locul greșit: furnizați o cale completă, verificați dacă folderul există și includeți calea între ghilimele dacă conține spații.
Vechiul rezultat a dispărut: o singură dată >se suprascrie. Folosește-l >>pentru a adăuga sau a alege un nume de fișier nou.
Un tabel PowerShell este tăiat: ieșirea formatată poate fi restricționată de lățimea consolei. Pentru ieșire cu text lat, adăugați o -Widthvaloare adecvată la Out-Filesau exportați datele structurate în format CSV.