關於cmd命令的重定向輸出

2021-07-31 12:34:05 字數 1822 閱讀 9023

**jw72jw

命令通過%>的形式來定向輸出,%表示檔案描述符:

-1為標準輸出stdout,1>簡寫為>

-2為標準錯誤stderr。

&需要直接與重定向符號結合使用。

比如:2>&1表示stderr輸出到stdout

應用例項:

- 將結果輸出到result.txt

net stop myservices >>result 2>&1

- 隱藏程式輸出結果

net stop myservices >nul 2>nul

下表列出了可用於重定向輸入和輸出資料流的操作符。

重定向操作符

描述>將命令輸出寫入到檔案或裝置(如印表機)。

<從檔案而不是從鍵盤或控制代碼讀入命令輸入。

>>將命令輸出新增到檔案末尾而不刪除檔案中已有的資訊。

>&將乙個控制代碼的輸出寫入到另乙個控制代碼的輸入中。

<&從乙個控制代碼讀取輸入並將其寫入到另乙個控制代碼輸出中。

|從乙個命令中讀取輸出並將其寫入另乙個命令的輸入中。也稱作管道。

-重定向輸入 (<)

要通過鍵盤將輸入重定向到檔案或裝置,請使用 < 操作符。例如,要從 file.txt 獲取 sort 命令的輸入,請鍵入:

sort

-重定向輸出 (>)

要將輸出從命令提示符視窗重定向到檔案或裝置,請使用 > 操作符。可以在許多命令中使用該操作符。例如,要將 dir 輸出重定向到 dirlist.txt,請鍵入:

dir>dirlist.txt
dir>c:\file.txt 2>&1
複製控制代碼時,可以複製該控制代碼原狀態的所有特性。

要將重定向輸入操作符 (<) 與複製操作符 (&) 結合使用,指定的檔案必須已經存在。

如果輸入檔案存在,cmd.exe 將以唯讀方式開啟該檔案,然後將檔案包含的字元作為輸入傳送到此命令(如同從鍵盤輸入一樣)。

要開啟 file.txt,並在內容排序後將輸出傳送到命令提示符視窗(即 stdout),請鍵入: sort

ipconfig.exe>>output.log

2>&1

使用管道操作符 (|)

管道操作符 (|) 可以提取乙個命令的輸出(預設情況下是 stdout),然後將其定向到另乙個命令的輸入(預設情況下是 stdin)中。

例如,使用下面的命令可以對目錄進行分類:

dir | sort
在本例中,將同時啟動兩個命令,但隨後 sort 命令會暫停,直到它接收到 dir 命令的輸出為止。

sort 命令使用 dir 命令的輸出作為輸入,然後將輸出傳送到控制代碼 1(即 stdout)。

合併帶重定向操作符的命令

通過合併帶有其他命令和檔名的篩選器命令,可以建立自定義命令。例如,可以使用以下命令儲存包含「log」字串的檔名:

dir /b | find "log" loglist.txt

關於cmd命令的重定向輸出

關於cmd命令的重定向輸出 2 1 mycommand mylog.txt 2 1 應該是最經典的用法了。命令的結果可以通過 的形式來定向輸出,表示檔案描述符 1為標準輸出stdout 2為標準錯誤stderr。系統預設 值是1,也就是 1 而1 可以簡寫為 也就是預設為 stdout的預設目標是終...

關於cmd命令的重定向輸出

關於cmd命令的重定向輸出 2 1 mycommand mylog.txt 2 1 應該是最經典的用法了。命令的結果可以通過 的形式來定向輸出,表示檔案描述符 1為標準輸出stdout 2為標準錯誤stderr。系統預設 值是1,也就是 1 而1 可以簡寫為 也就是預設為 stdout的預設目標是終...

理解命令輸出重定向

shell中可能經常能看到 dev null 2 1 命令的結果可以通過 的形式來定義輸出 分解這個組合 dev null 2 1 為五部分。1 代表重定向到 例如 echo 123 home 123.txt 2 dev null 代表空裝置檔案 3 2 表示stderr標準錯誤 4 表示等同於的意...