3

Можно ли перенаправить вывод на несколько устройств / файлов?

program.exe 1> output1.txt 1>output2.txt

Это производит только output2.txt в Windows.

2 ответа2

1

Если вы используете оболочку Unix/Linux или Cygwin в Windows, вы можете использовать tee для копирования stdin в несколько выходных файлов:

program.exe | tee output1.txt >output2.txt

Не уверен, что в родном Windows cmd.exe есть тройной аналог.

Большинство оболочек, таких как bash, позволяют комбинировать stdout и stderr. Вот синтаксис для объединения stdout и stderr из program.exe и передачи его в тройник. 2>&1 говорит, что перенаправить вывод файлового дескриптора 2 (stderr) на файловый дескриптор 1 (stdout)

program.exe 2>&1 | tee output1.txt >output2.txt
1

tee - это команда, которая предлагает на машинах * nix гибкость для перенаправления вывода в несколько файлов.

Со страницы руководства -

DESCRIPTION
     The tee utility copies standard input to standard output, 
making a copy in zero or more files.  The output is unbuffered.

В Windows вы можете использовать что-то похожее на это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .