mycommand >mylog.txt 2>&1 應該是最經典的用法了。
命令的結果可以通過“%>”的形式來定向輸出,%表示文件描述符:1為標準輸出stdout、2為標準錯誤stderr。系統默認%值是1,也就是“1>”,而1>可以簡寫為>,也就是默認為>。stdout的默認目標是終端,stderr的默認目標為也是終端。我們在批處理中執行: echo text >result.txt ,我們就可以在屏幕上會看到 echo text 1>result.txt ,即是這個道理。
其中&需要直接與重定向符號結合使用。
參考:
1、%261"'>http://www.google.cn/search?q="2>%261"
2、http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/04969a04-a424-4776-bdc7-dc5066ce79b2.mspx?mfr=true
應用實例:
1、將結果輸出到result.txt
net stop myservices >>result 2>&1
2、隱藏程序輸出結果
net stop myservices >nul 2>nul
可以使用重定向操作符將命令輸入和輸出數據流從默認位置重定向到其他位置。輸入或輸出數據流的位置稱為句柄。
下表將列出可用的句柄。
句柄 | 句柄的數字代號 | 描述 |
STDIN | 0 | 鍵盤輸入 |
STDOUT | 1 | 輸出到命令提示符窗口 |
STDERR | 2 | 錯誤輸出到命令提示符窗口 |
UNDEFINED | 3-9 | 句柄由應用程序單獨定義,它們是各個工具特有的 |
數字 0 到 9 代表前 10 個句柄??梢允褂妹?Cmd.exe 運行程序,并對該程序前 10 個句柄中的任何一個句柄進行重定向。要指定要用的句柄,請在重定向操作符之前鍵入該句柄的數字。如果未定義句柄,則默認的 < 重定向輸入操作符是 0,而默認的 > 重定向輸出操作符是 1。鍵入 < 或 > 操作符之后,必須指定數據的讀寫位置??梢灾付ㄎ募蚱渌F有的句柄。
新聞熱點
疑難解答