4

В Linux я могу ввести echo "hello" >& text.output и получить текстовый вывод в файл.

Как я могу получить такой вывод в Windows 8?

Есть ли способ сказать ошибку из вывода?

Моя мотивация - попытаться записать вывод tracert и исследовать разницу между Windows 8 и Windows 7.

2 ответа2

6

Так же, как в Linux:

echo "Hello" >text.output

Ошибки обычно печатаются в поток stderr (это # 2). Вы можете захватить поток stderr :

del 1.txt 2>text.output

Если файл 1.txt не существует, text.output будет содержать Could not find 1.txt .


Вы можете перенаправить стандартный stdout в стандартный stderr:

echo "Hello" 2>&1

Или stderr в стандартный stdout:

echo "Hello" 1>&2

PS Я не уверен, что ваша команда будет работать в Linux. В любом случае echo "hello" >& text.output генерирует синтаксическую ошибку: >& was unexpected at this time.

3

Оболочка в Windows сейчас очень похожа на BASH в Linux. Так что вы можете просто сделать

echo "Hello" > text.txt

Или, запустите вашу программу и позвольте выводу системы записать в text.txt:

run_program > text.txt

Если вам нужно отследить ошибку, используйте следующее:

run_program 2> error.txt

Больше информации и примеров можно найти здесь. Перенаправление ввода / вывода

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