Preusmjerite izlaz iz naredbenog retka sustava Windows u tekstualnu datoteku
Jedan od najkorisnijih načina za prijavu i rješavanje problema s ponašanjem naredbi ili skupnih poslova koje izvodite u sustavu Windows(Windows) je preusmjeravanje izlaza u datoteku.
Međutim, postoji nekoliko različitih načina na koje možete preusmjeriti zapise naredbenog retka u datoteku. Opcija koju odaberete ovisi o tome kako želite vidjeti izlaz naredbe.
Kako radi izlaz naredbenog retka sustava Windows(How Windows Command Prompt Output Works)
Kada upišete naredbu u Windows konzolu ( naredbeni redak(command prompt) ), izlaz te naredbe ide u dva odvojena toka.
- STDOUT : Standardni izlaz(Out) je mjesto gdje idu svi standardni odgovori iz naredbi. Na primjer, standardni odgovor za naredbu DIR je popis datoteka unutar direktorija.
- STDERR : Standardna pogreška(Standard Error) je mjesto gdje idu sve poruke o pogrešci ako postoji problem s naredbom. Na primjer, ako u direktoriju nema datoteka, naredba DIR će ispisati " Datoteka(File) nije pronađena" u tok Standardne pogreške .(Standard Error)
Možete preusmjeriti izlaz na datoteku u sustavu Windows(Windows) za oba ova izlazna toka.
Preusmjeravanje standardnog izlaza za pisanje u novu datoteku(Redirect Standard Output Write to New File)
Postoje dva načina na koje možete preusmjeriti standardni izlaz naredbe u datoteku. Prvi je slanje izlaza naredbe za pisanje u novu datoteku svaki put kada pokrenete naredbu.
Da biste to učinili, otvorite naredbeni redak i upišite:
dir test.exe > myoutput.txt
Znak > govori konzoli da ispusti STDOUT(STDOUT) u datoteku s imenom koje ste dali.
Kada pokrenete ovu naredbu(run this command) , primijetit ćete da u naredbenom prozoru nema odgovora osim pogreške da datoteka ne postoji.
To je zato što je standardni izlaz za naredbu preusmjeren na datoteku pod nazivom myoutput.txt. Datoteka sada postoji u istom direktoriju u kojem ste pokrenuli naredbu. Standardni izlaz pogreške i dalje se prikazuje kao i obično.
Napomena(Note) : Pazite da promijenite aktivni direktorij(change the active directory) za naredbeni redak prije pokretanja naredbe. Na ovaj način ćete znati gdje su pohranjene izlazne datoteke.
Možete vidjeti standardni izlaz koji je otišao u datoteku upisivanjem “myoutput.txt” u naredbeni prozor. Ovo će otvoriti tekstualnu datoteku u vašem zadanom pregledniku tekstualnih datoteka. Za većinu ljudi to je obično Notepad.exe .
Sljedeći put kada pokrenete istu naredbu, prethodna izlazna datoteka bit će izbrisana. Nova izlazna datoteka bit će ponovno stvorena s izlazom posljednje naredbe.
Preusmjeravanje standardnog izlaza(Standard Output) upisuje u istu datoteku(Same File)
Što ako ne želite prebrisati istu datoteku? Druga opcija je korištenje >> umjesto > za preusmjeravanje na izlaznu datoteku. U slučaju ovog primjera, upisali biste:
dir test.exe >> myoutput.txt
Vidjet ćete isti izlaz (samo pogreška).
Ali u ovom slučaju, umjesto da prepiše izlaznu datoteku, ova naredba dodaje novi izlaz postojećoj izlaznoj datoteci.
Svaki put kada pokrenete naredbu i dodate izlaz u datoteku, ona će napisati novi standardni izlaz na kraj postojeće datoteke.
Preusmjeravanje standardne pogreške u datoteku(Redirect Standard Error To a File)
Na isti način na koji možete preusmjeriti standardne izlazne zapise u datoteku, također možete izvesti standardni tok pogrešaka u datoteku.
Da biste to učinili, morat ćete dodati 2> na kraj naredbe, nakon čega slijedi datoteka izlazne pogreške koju želite stvoriti.
U ovom primjeru upisat ćete naredbu:
dir test.exe > myoutput.txt 2> output.err
Ovo šalje standardni izlazni tok u myoutput.txt, a standardni tok grešaka u output.err. Rezultat je da se nikakav izlazni tok uopće ne prikazuje u prozoru konzole.
Međutim, poruke o pogrešci možete vidjeti tako da upišete output.err . Ovo će otvoriti datoteku u vašem zadanom pregledniku tekstualnih datoteka.
Kao što možete vidjeti, sve poruke o pogrešci iz naredbe izlaze u datoteku pogreške. Baš(Just) kao i kod standardnog izlaza, umjesto toga možete koristiti >> za dodavanje pogreške pogreškama iz prethodno pokrenutih naredbi.
Preusmjerite sve izlazne zapise u istu datoteku(Redirect All Output Writes to a Same File)
Svi gore navedeni pristupi rezultiraju više datoteka. Jedna datoteka je za standardni izlazni tok, a druga za standardni tok grešaka.
Ako želite uključiti oba ova izlaza u istu datoteku, možete i to učiniti. Da biste to učinili, trebate samo preusmjeriti sav izlaz na istu datoteku pomoću sljedeće naredbe.
dir test.exe 1> myoutput.txt 2>&1
Evo kako ova naredba funkcionira:
- Standardni izlaz je usmjeren na izlaznu datoteku identificiranu izlaznim brojem 1.
- Standardni izlaz greške identificiran brojem 2 preusmjerava se na izlaznu datoteku označenu brojem 1.
Ovo će dodati izlaz greške na kraj standardnog izlaza.
Ovo je koristan način da vidite sav izlaz za bilo koju naredbu u jednoj datoteci.
Utišavanje standardnih ili izlaznih tokova pogrešaka(Silencing Standard or Error Output Streams)
Također možete isključiti standardni izlaz(Standard Output) ili standardnu grešku(Standard Error) preusmjeravanjem izlaza na NUL umjesto u datoteku.
Koristeći gornji primjer, ako želite samo standardni izlaz(Standard Output) i bez standardne pogreške(Standard Error) uopće, možete koristiti sljedeću naredbu:
dir test.exe 1> myoutput.txt 2>nul
To će rezultirati istom izlaznom datotekom kao u prvom primjeru iznad gdje ste samo preusmjerili standardni izlaz(Standard Output) , ali s ovom naredbom pogreška se neće odjeknuti unutar konzole. Neće stvoriti ni datoteku dnevnika grešaka.
Ovo je korisno ako vas ne zanimaju pogreške i ne želite da vam one budu smetnja.
Možete izvesti bilo koju od istih izlaznih naredbi iznad unutar BAT datoteke(inside a BAT file) i izlaz iz te linije će ići u izlaznu datoteku koju odredite. Ovo je koristan način da vidite jesu li naredbe unutar BAT datoteke imale pogreške kada su se pokušale pokrenuti.
Related posts
Spremite popis pokrenutih procesa u tekstualnu datoteku u sustavu Windows
Kako koristiti naredbu Taskkill u sustavu Windows 10/11
Kako ukloniti tekst iz ikona na programskoj traci sustava Windows
Spriječite pristup naredbenom retku u sustavu Windows
Uklonite tekstualne oznake s ikona na radnoj površini u sustavu Windows 7/8/10
Koristite Netstat da biste vidjeli portove za slušanje i PID u sustavu Windows
Swiss File Knife je koristan alat naredbenog retka za Windows
Kako otvoriti 7Z datoteke u sustavima Windows, Mac i Linux
Deinstalirajte i ponovno instalirajte IE u sustavu Windows 7
HTML kod za prelamanje teksta oko slike
Omogućite način igre za ujednačavanje performansi u sustavu Windows 10
Kako koristiti naredbeni redak s karticama u sustavu Windows 10
Kako otvoriti JAR datoteku u sustavu Windows
Otvorite naredbeni redak u mapi pomoću Windows Explorera
Kako premjestiti svoj Thunderbird profil i e-poštu na novo Windows računalo
Kako ubiti proces pomoću naredbenog retka u sustavu Windows 11/10
Kako smanjiti veliku upotrebu procesora u Windows Exploreru
Pristupite FTP poslužitelju pomoću naredbenog retka u sustavu Windows 10
Pretvorite CSV u Excel (XLS ili XLSX) pomoću naredbenog retka u sustavu Windows
Kako koristiti naredbu Ping za rješavanje problema s mrežom