Как захватить stderr на Windows / DOS? - PullRequest
35 голосов
/ 27 января 2009

Я хочу записать ошибки из скрипта в файл, а не на экран.

В * nix это делается с помощью перенаправления stderr, обычно

echo "Error" 2> errorfile.log

Как мне сделать это в сценарии CMD под Windows?

Ответы [ 2 ]

43 голосов
/ 27 января 2009

Например:

PSKILL NOTEPAD >output.txt 2>&1

Это направит stdout и stderr к имени файла output.txt.

Подробнее см. Недостаточно используемые функции пакетных файлов Windows .

20 голосов
/ 27 января 2009

Это должно работать и в Win32.

Если вы уже перенаправили stdout и хотите перенаправить stderr в тот же файл, вы должны использовать специальную форму 2> &, а не просто указывать один и тот же файл дважды. В противном случае вы получите ошибку «file busy».

...