2008年12月25日 星期四

NUL的意義與用法

NUL是一個特殊的空設備,它沒有可控制的PC硬體或埠,可以說是一種虛擬的設備吧,有點像黑洞一樣,可以吞噬任何輸入輸出之請求而不給回應,就給你隱藏起來喔!


控制碼 1 表示標準輸出;控制碼 2 表示錯誤輸出!













1.看上圖,正常執行pasue命令,會顯示"請按任意鍵繼續...",然後等待你的下一步動作
2.若在後面接 1>nul 的話,就會將標準輸出隱藏囉
3.一般的move命令,若沒有檔案可移動,則會出現錯誤輸出"系統找不到指定的檔案
4.若在後面接 2>nul 的話,就會將錯誤輸出隱藏囉。

5.當然也可以後面接1>nul 2>nul ,就表示將所有輸出都隱藏,不過這樣感覺好像病毒的行為喔,故意讓你不知在作什!


6.我個人喜歡在batch裡這樣用1>log.txt 2>err.txt,這樣就不管任何訊息都會留下記錄囉,執行結果寫到log.txt,錯誤訊息寫到err.txt,方便我後續有問題時除錯囉,給各位參考!

對了,我好像沒有提到重定向">"的意義,自行去微軟參考吧http://technet.microsoft.com/en-us/library/bb490982.aspx





0 意見:

張貼留言