2009-01-27 82 views
34

我想将脚本中的错误捕获到文件中而不是屏幕上。如何在Windows/DOS上捕获stderr?

在* nix中,这是用标准错误重定向完成,通常

echo "Error" 2> errorfile.log 

如何做到这一点在Windows下一个CMD脚本?

回答

43

例如:

PSKILL NOTEPAD >output.txt 2>&1 

这将直接stdout和stderr到一个文件名output.txt的。

查看Underused features of Windows batch files了解更多详情。

+7

如果你想让它们重定向到单独的文件,你可以执行`mycommand> stdout.txt 2> stderr.txt` – Kip 2012-10-24 16:15:24

20

这也应该在Win32中工作。

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

+0

这也包括在* [重定向标准输出和stderr到单个文件](http://stackoverflow.com/questions/1420965)*。 – 2015-10-09 20:50:32