DOS允許在命令中出現用豎線字符“|”分開的多個命令,將符號“|”之前的命令的輸出,作為“|”之后命令的輸入,這就是“管道功能”,豎線字符“|”是管道操作符。例如,命令DIR|MORE使得當前目錄列表在屏幕上逐屏顯示。DIR的輸出是整個目錄列表,它不出現在屏幕上而是由于符號“|”的規定,成為下一個命令MORE的輸入,MORE命令則將其輸入,MORE命令則將其輸入一屏一屏地顯示,成為命令行的輸出。
再如命令DIR|FIND"COM">COMDIR也利用了管道功能。DIR的輸出是當前目錄列表。不出現在屏幕上而是成為FIND命令的輸入。FIND命令在輸入文件中尋找指定字符串"COM"并輸出包含這個字符串的行,由于輸出重定向符號>的規定,最后的輸出已存入文件COMDIR,不出現在屏幕上。命令DIR|FIND"< DIR >DIRDIR則是將當前目錄項中的子目錄項尋找出來并存入文件DIRIDR中。
管道功能可理解為將若干命令用輸入輸出“管道”串接在一起。
通常當打入DOS命令之后所處理的信息(輸入數據,對選擇項的回答等等)是由標準輸入設備--鍵盤輸入的。也可以將命令執行過程中所需輸入的處理信息預先寫入某個文件,例如MYCOM,如果所執行的程序文件為MYPROG.COM,則打入命令:
C:>MYPROG 之后,執行MYPROG時所需的處理信息就改為由文件MYCOM讀入,這就是輸入重定向。小于號<是輸入重定向操作符,在<之后的文件名或設備名是重定向的輸入源。
如果一個程序時需要輸入較多數據,使用輸入重定向可以提高效率。
輸出重定向的符號是>或>>,然后列出指定的文件名(或標準設備文件名)作為輸出。其中在>之后的文件要重新建立,而在>>之后可以是已存在的文件名,新的輸出內容續接在該文件原有內容之后。例如,若連續打入下列兩個命令:
C>TREE>FILE
C>CHKDSK>>FILE
執行第一個命令時,C盤樹形目錄結構將輸出到新建文件FILE中,不在屏幕上顯示。執行第一個命令時,C盤樹形目錄結構將輸出到新建文件FILE中,不在屏幕上顯示。執行第二個命令時,FILE是已有文件,磁盤數據區使用情況輸出到FILE文件中,接在樹形目錄結構之后。
輸入輸出重定向可以同時使用。例如,若文件DATA中存放若干數據,需要將這些數據按字典順序排序后放入文件SORT.DAT中,可使用下列命令
C>SORTSORT.DAT
命令中以DATA作為輸入,以SORT.DAT作為輸出。
內部命令CTTY也可規定新的標準輸出設備。實際上CTTY是將命令行中列出的標準設備文件名相關的設備作為新的控制臺終端。例如,可以在通信口(COM1)連接電傳打字機,則執行命令CTTY COM1之后,原來終端被取消,改成與COM1連接的電傳打字機。如果要恢復原來終端,需在電傳上打入命令CTTYCON。
于重定向、管道及過濾命令
重定向命令又稱轉向命令;管道命令又稱傳送命令。
輸出重定向命令 > 、>> ,輸入重定向命令 < ;
管道命令 | ;
過濾命令 more 、sort 和 find 。
其中管道命令常與過濾命令聯合使用。
目前等級考試用到的命令為輸出重定向命令。所謂輸出重定向指把執行相應DOS命令時本應在屏幕上顯示的內容輸出到重定向命令所指向的文件或設備中去。這句話可能不太好理解,以例子說明之:
echo This is an example !
執行此命令在屏幕上顯示:
This is an example !
而
echo This is an example ! > example.txt
或
echo This is an example ! >> example.txt
執行后在屏幕并無顯示,本應在屏幕上顯示的內容到哪里去了呢?原來是生成了一個名為 EXAMPLE.TXT 的文件,本應顯示在屏幕上的內容This is an example ! 就保存了這個文件中!
如果原來就有一個文件名為 EXAMPLE.TXT 會出現什么情況呢?
如果你使用的是 > ,原文件會被刪除,重新生成新的文件,其內容如上所述;如果你使用的是 >> ,原文件內容會被保留,新的內容會添加到原文件件的內容的后面。這就是二者的區別。考試時建設大家用 > ,因為即使你重復使用了幾次,文件內容也不會變化。
其他幾個這里僅略作介紹。
輸入重定向使輸入信息來自文件。過濾命令 more 進行分屏顯示; find 查找符合條件的內容;sort (按行)排序。有些東西需通過管道與過濾命令相結合。這里舉幾個例子:
more < c:\tc\readme
more的輸入來自 c:\tc\readme 文件(TC的自說明文件,其內容比較多,一屏遠遠顯示不下)。這個命令與
type c:\tc\readme | more
作用相同,但更簡潔,效率也更高。
dir c:\ | find "O" > filelist.txt
把文件或子目錄中含有“O”(注意要用大寫)的文件清單(如dos, ucdos, windows, autoexec.bat, config.sys, command.com等)保存到文件 filelist.txt 中。注意用 dir O*等命令達不到同樣目的。
sort < file1.txt > file2.txt
把文件 file1.txt 的內容按行排序后輸出到文件 file2.txt 中去。
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢】