Нет, вы не можете с чистым перенаправлением.
Но с некоторыми хитростями (например, tee.bat ) вы можете.
Я пытаюсь немного объяснить перенаправление.
Вы перенаправляете один из десяти потоков с помощью > file или
Это неважно, если перенаправление происходит до или после команды,
поэтому эти две строки почти одинаковы.
dir > file.txt
> file.txt dir
Перенаправление в этом примере является только ярлыком для 1> , это означает, что поток 1 (STDOUT) будет перенаправлен.
Таким образом, вы можете перенаправить любой поток с добавлением числа, например 2> err.txt , и также разрешено перенаправлять несколько потоков в одну строку.
dir 1> files.txt 2> err.txt 3> nothing.txt
В этом примере «стандартный вывод» будет помещен в файл files.txt, все ошибки будут в файле err.txt, а stream3 - в none.txt (DIR не использует поток 3).
Stream0 - это STDIN
Stream1 является STDOUT
Stream2 is STDERR
Stream3-9 не используются
Но что произойдет, если вы попытаетесь перенаправить один и тот же поток несколько раз?
dir > files.txt > two.txt
«Может быть только один», и он всегда последний!
Таким образом, он равен dir> two.txt
Хорошо, есть еще одна возможность, перенаправить поток в другой поток.
dir 1>files.txt 2>&1
2> & 1 перенаправляет stream2 в stream1, а 1> files.txt перенаправляет все в files.txt .
Здесь важен порядок!
dir ... 1>nul 2>&1
dir ... 2>&1 1>nul
разные. Первый перенаправляет все (STDOUT и STDERR) в NUL,
но вторая строка перенаправляет STDOUT в NUL, а STDERR в «пустой» STDOUT.
В качестве одного из выводов очевидно, что примеры Otávio Décio и andynormancx не могут работать.
command > file >&1
dir > file.txt >&2
Оба пытаются перенаправить stream1 два раза, но «может быть только один», и он всегда последний.
Итак, вы получите
command 1>&1
dir 1>&2
И в первом примере перенаправление stream1 на stream1 не разрешено (и не очень полезно).
Надеюсь, это поможет.