2009-01-27 58 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

相關問題