個人備忘用
正常情況下,要把應用程式的輸出重新導向到檔案可以輸入
target.exe -some_args > output.txt
但如果發現導向後的文字檔沒東西,則可能該程式是將文字輸出到stderr,那就把指令改成
target.exe -some_args 2> output.txt
/* stdin = 0, stdout = 1, stderr = 2 */
又,如果要對程式輸出的文字做處理
例如過濾某些文字所在的行,可以把輸出再pipe( | )到find指令,然後用參數/v來過濾掉不想要的輸出
target.exe -some_args | find /v "what we don't want"
但因為pipe只接受stdout的輸出,如果應用程式是將文字輸出到stderr,那就把指令改成
target.exe -some_args 2>&1 | find /v "what we don't want"
/* 把stderr重新導向到stdout,就可以pipe到find了 */
其它參考
http://forum.twbts.com/viewthread.php?tid=10215