批次處理輸入輸出


有三個鍵盤輸入的通用「檔案」,在螢幕上列印文字和在螢幕上列印錯誤。 標準輸入檔案(stdin)包含程式/指令碼的輸入。 標準輸出(Standard Out)檔案(stdout)被用來寫輸出以顯示在螢幕上。 最後一種叫作stderr的「標準錯誤」檔案包含用於顯示在螢幕上的任何錯誤訊息。

這三個標準檔案中的每一個(也稱為標準流)分別使用數位0,12進行參照。Stdin是檔案0,stdout是檔案1,stderr是檔案2

重定向輸出(Stdout和Stderr)

批次處理檔案中的一種常見做法是將程式的輸出傳送到紀錄檔檔案。 >運算子將stdout或stderr傳送或重定向到另一個檔案。 以下範例顯示了如何完成此操作。

dir C:\  > list.txt

在上面的例子中,命令dir C:\ 的stdout被重定向到檔案list.txt

如果將數位2附加到重定向過濾器,則會將stderr重定向到檔案lists.txt。例如 -

Dir C:\ 2 > list.txt

甚至可以使用檔案編號和"&"字首來組合stdout和stderr流。 以下是一個例子。

DIR C:\ > lists.txt 2> &1

抑制程式輸出

偽檔案NUL用於丟棄程式的任何輸出。 以下範例顯示通過將輸出傳送到NUL來丟棄命令DIR的輸出。

Dir C:\ > NUL

STDIN

要使用Stdin,必須使用解決方法來實現此目的。這可以通過重定向命令提示字元自己的標準輸入(稱為CON)來完成。

以下範例顯示了如何將輸出重定向到名為lists.txt的檔案。 在執行下面的命令後,命令提示字元會將使用者輸入的所有輸入都儲存到一個EOF字元中。 稍後,它將所有輸入傳送到檔案lists.txt

TYPE CON > lists.txt