如何在Windows / DOS上捕获stderr?

时间:2009-01-27 08:46:42

标签: windows scripting batch-file cmd stderr

我想将脚本中的错误捕获到文件而不是屏幕中。

在* nix中,这是通过stderr重定向完成的,通常是

echo "Error" 2> errorfile.log

如何在Windows下的CMD脚本中执行此操作?

2 个答案:

答案 0 :(得分:43)

例如:

PSKILL NOTEPAD >output.txt 2>&1

这会将stdout和stderr指向文件名output.txt。

有关详细信息,请参阅Underused features of Windows batch files

答案 1 :(得分:20)

这也适用于Win32。

如果您已经重定向stdout,并希望stderr重定向到同一个文件,则必须使用2>&特殊形式,而不是仅指定两次相同的文件。否则,您将收到“文件繁忙”错误。