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