DOS的I/O重定向

Author: Date: 1996-05-17

        MS-DOS将键盘、显示器及打印机叫做标准I/O(Standard Input/output)设备,凡是经过标准I/O设备进行I/O操作的程序,均可用重定向(redirection)的方式来改由其他文件进行I/O操作(即由其它文件输入所需的数据,或将执行结果输出到其它文件)。
        MS-DOS是由“>”,“>>”及“<”来进行输出输入重定向的。
        命令>文件A:将命令的输出送往文件A,文件A原来的内容会被覆盖。
        命令>>文件A:将命令的输出送往文件A,附加至文件A的文件尾。
        命令<文件B:将文件B送往(输入)命令处理,要求文件必须存在。
        注意正确的重定向格式,命令绝对必须摆在前面,接着才是欲定向的文件。例如:
        A:\>dir>dirlist ←将应该在屏幕上显示的数据送往dirlist。
        A:\>type dirlist ←相当于dir a:
        以“>”符号进行输出重定向时,如果欲重定向的输出文件不存在,DOS就会建一个新文件来接收转送过来的数据。如果欲传送的文件已存在,则文件内原来的数据会被清除,然后再接收送来数据。
        如果用“>>”符号来进行输出重定向,MS-DOS就会将转送来的数据附加(附接)到目的文件原有数据的后边,而不会将原有数据清除了。例如:
        A:\>type a.prn
        This is file A          ←a.prn的内容
        A:\>type b.prn
        This is file B          ←b.prn的内容
        A:\>type b.prn>>a.prn   ←将b.prn附加到a.prn
        A:\>type a.prn          ←显示a.prn内容
        This is file A          ←原数据
        This is file B          ←附加数据
        输入重定向也同样。例如:
        A:\>sort<unsort.prn     ←将一组未排序的数据文件unsort.prn以“行”为单位进行排序,并送出结果。
        I/O还可以同时重定向。例如:
        A:\>b:sort<dirlist>dirsort   ←将dirlist送往B驱sort命令排序再重定向给dirsort
        通过I/O重定向,我们可以很方便地把一些应用程序的输出结果保存到文件,以备查询,也可以把某些应用程序需要输入的一系列数据或操作键预先输入一个文件,以便该应用程序执行时,不再要求人工输入。例如:可以生成以下一个文件Test
        copy con test
        u
        u
        q
        ^Z
        然后,再执行命令debug<test,你将会看到Debug被调入内存后直接运行并退出,不再需要我们手工输入Debug的命令了。