讲起-1 - “重定向”是自 MSDOS 起就被支持的命令行特性,负责将指定命令或语句所产生的输入输出请求由缺省的“控制台”转交给其它的“设备”来完成,它的启动标志是“重定向符号”(包括“>,>>,<”三个)出现在句中。 ㈠、使用命令重定向操作符 (Redirection Operators) 可以使用重定向操作符将命令输入和输出数据流从默认位置重定向到不同的位置。输入或输出数据流的位置即为句柄。 下表列出了可用于将命令输入和输出数据流进行重定向的操作符。 重定向操作符 说明 > 将命令输出写入到文件或设备(例如打印机)中,而不是写在命令提示符窗口中。 < 从文件中而不是从键盘中读入命令输入。 >> 将命令输出添加到文件末尾而不删除文件中的信息。 >& 将一个句柄的输出写入到另一个句柄的输入中。 <& 从一个句柄读取输入并将其写入到另一个句柄输出中。 | 从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。 默认情况下,可以从键盘将命令输入(即 STDIN 句柄)发送到 Cmd.exe,然后由 Cmd.exe 将命令输出(即 STDOUT 句柄)发送到命令提示符窗口。 一般的命令行程序输入输出请求都通过内部定义三个“端口”(在 NT 下称为“句柄”,在 DOS 下未定义)来完成,分别为标准输入 stdin、标准输出 stdout、标准错误stderr。它们通常指向的设备为控制台(console,代码为 CON),其中 stdin 指向控制台的键盘,stdout/stderr 指向控制台的监视器。因此 ,控制台通常即指键盘与 监视器的联 合 体 ,这 是在早 期 大 型 机的终 端机上 所体 现出来的概 念 。其中的 stdin 可被<重定向,stdout 可被>、>>重定向,而 stderr 在 DOS下不可直 接 重定向,只 有 通过ctty 或其它命令将系 统 控制权 转交给其它设备的方 式 ,来间 接 完成。 下表将列出可用的句柄。 句柄 句柄的数字 代号 说明 STDIN 0 键盘输入 STDOUT 1 输出到命令提示符窗口 STDERR 2 错误输出到命令提示符窗口 UNDEFINED 3-9 这些句柄由应用程序和各个具体工具单独定义。 数字 0 到 9 代表前 10 个句柄。可以使用命令 Cmd.exe 运行程序并将前 10 个句柄中的任何一个重定向到该程序。要指定想使用的句柄,可在重定向操作符前面键入该句柄的数字。如果未定义句柄,则默认的 < 重定向输入操作符是 0,而默认的 > 重定向输出操作符是 1。键入 > 或 < 操作符之后,...