Nie, nie możesz z czystym przekierowaniem.
Ale z niektórymi sztuczkami (jak tee.bat ) możesz.
Staram się trochę wyjaśnić przekierowanie.
Przekierowujesz jeden z dziesięciu strumieni za pomocą > plik lub <plik.
Nie ma znaczenia, czy przekierowanie następuje przed lub po poleceniu, więc te dwie linie są prawie takie same.
dir > file.txt
> file.txt dir
Przekierowanie w tym przykładzie jest tylko skrótem do 1> , co oznacza, że zostanie przekierowany strumień 1 (STDOUT).
Możesz więc przekierować dowolny strumień, poprzedzając liczbę, taką jak 2> err.txt, a także możesz przekierować wiele strumieni w jednej linii.
dir 1> files.txt 2> err.txt 3> nothing.txt
W tym przykładzie „standardowe wyjście” zostanie umieszczone w plikach.txt, wszystkie błędy w err.txt, a strumień 3 - do nic.txt (DIR nie używa strumienia 3).
Strumień0 to STDIN
Strumień1 to STDOUT
Strumień2 to STDERR
Strumienie 3-9 nie są używane
Ale co się stanie, jeśli spróbujesz wielokrotnie przekierować ten sam strumień?
dir > files.txt > two.txt
„Może być tylko jeden” i zawsze jest ostatni!
Czyli jest równe dir> two.txt
Ok, jest jeszcze jedna możliwość, przekierowanie strumienia do innego strumienia.
dir 1>files.txt 2>&1
2> & 1 przekierowuje stream2 do stream1, a 1> files.txt przekierowuje wszystko do files.txt .
Kolejność jest tutaj ważna!
dir ... 1>nul 2>&1
dir ... 2>&1 1>nul
są różne. Pierwsza z nich przekierowuje wszystkie (STDOUT i STDERR) do NUL,
ale druga linia przekierowuje STDOUT do NUL i STDERR do „pustego” STDOUT.
Podsumowując, jest oczywiste, dlaczego przykłady Otávio Décio i andynormancx nie działają.
command > file >&1
dir > file.txt >&2
Obaj próbują przekierować stream1 dwa razy, ale „może być tylko jeden” i zawsze jest to ostatni.
Więc masz
command 1>&1
dir 1>&2
W pierwszym przykładzie przekierowanie stream1 do stream1 jest niedozwolone (i niezbyt przydatne).
Mam nadzieję, że to pomoże.