CMD skripty: přesměrování výstupu

Při psaní CMD skriptů se můžete setkat s určitými problémy při
pokusu o přesměrování výstupu. V některých případech totiž
přesměrování výstupu nefunguje dle očekávání. Pro začátečníka
může být problém zejména se skrýváním chybových hlášek externích
aplikací. 

Typický příkaz pro přesměrování výstupu do souboru je následující
s použitím znaku je větší než „>“

prikaz.exe >c:logsoubor.txt

Každé spuštění tohoto příkazu však výstupní soubor přepíše. Aby
se soubor nepřepisoval, ale doplňoval dalším přesměrovaným výstupem je
potřeba uvést znaky „>“ dva

prikaz.exe >>c:logsoubor.txt

Problém je však s výstupem chybových hlášek, které se stále
zobrazují. To je z toho důvodu, že standardně je přesměrován jen
standardní výstup bez chyb a chybový stav je směrován na konzoli
(příkazový řádek). Přesměrování veškerého výstupu je možné řešit
tímto příkazem

prikaz.exe >>c:logsoubor.txt 2<&1

Pokud chcete podobně výstup jen skrýt, můžete použít trik
s proměnnou nul

prikaz.exe >nul 2<&1

Michal Zobec

Michal Zobec Senior IT Consultant, Project Manager ZOBEC Consulting