2013-05-22 3 views
1

Очень просто:Выход командной строки не перенаправляется в файл.

Откройте консоль и введите

mkdir abc > output.txt

он создает файл с именем output.txt, который пуст.

Теперь повторите

mkdir abc > output.txt

Здесь отображается на окне командной строки:

A subdirectory or file abc already exists

но не выводит это в формате TXT.

Почему?

ответ

3

Вы перенаправляете стандартный вывод в свой файл; ошибки обычно сообщаются по стандартной ошибке, которая представляет собой другой выходной поток. Для того, чтобы перенаправить стандартную ошибку, вы можете сделать это:

mkdir abc 2> output.txt 

Или, если вы хотите, чтобы объединить оба потока и направляют их вместе:

mkdir abc 2>&1 >output.txt 

Более подробную информацию here.

+0

спасибо, ребята. :) – dwjohnston

0

Поскольку вывод mkdir для второго вызова переходит в stderr вместо stdout.

1

Это будет автоматически создавать папку, если она существует или нет.

mkdir abc 2>nul 
Смежные вопросы