3 回答

TA貢獻1850條經驗 獲得超11個贊
2>&1
1>
REM *** WARNING: THIS WILL NOT REDIRECT STDERR TO STDOUT **** dir 2>&1 > a.txt
dir > a.txt 2>&1
>>
.

TA貢獻2051條經驗 獲得超10個贊
來自MSKB的背景信息
來自MSKB 110930
從命令提示符重定向錯誤消息:STDERR/STDOUT
摘要
當使用class>‘>符號重定向應用程序的輸出時,錯誤消息仍然打印到屏幕上.這是因為錯誤消息通常被發送到標準錯誤流,而不是標準輸出流。
控制臺(命令提示符)應用程序或命令的輸出通常發送到兩個單獨的流。常規輸出被發送到標準輸出(STDOUT),錯誤消息被發送到標準錯誤(STDERR)。當您使用“>”符號重定向控制臺輸出時,您只是重定向STDOUT。為了重定向STDERR,您必須為重定向符號指定‘2>’.這將選擇第二個輸出流,即STDERR。
例
命令 dir file.xxx
(在哪里 file.xxx
)將顯示以下輸出: Volume in drive F is Candy Cane Volume Serial Number is 34EC-0876 File Not Found
如果將輸出重定向到 NUL
設備使用 dir file.xxx > nul
,您仍將看到輸出的錯誤消息部分,如下所示: File Not Found
將錯誤消息重定向(僅)到 NUL
,使用以下命令: dir file.xxx 2> nul
或者,您可以將輸出重定向到一個地方,將錯誤重定向到另一個地方。 dir file.xxx > output.msg 2> output.err
您可以通過使用“&1”命令將STDERR的輸出重定向到STDOUT,然后將輸出從STDOUT發送到文件,從而將錯誤和標準輸出打印到單個文件: dir file.xxx 1> output.msg 2>&1
添加回答
舉報