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 中去。
安徽新华电脑学校专业职业规划师为你提供更多帮助【在线咨询】