欢迎来到天天文库
浏览记录
ID:11307919
大小:72.50 KB
页数:12页
时间:2018-07-11
《windows下命令重定向操作符》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Windows使用命令重定向操作符(RedirectionOperators) 可以使用重定向操作符将命令输入和输出数据流从默认位置重定向到不同的位置。输入或输出数据流的位置即为句柄。 下表列出了可用于将命令输入和输出数据流进行重定向的操作符。重定向操作符说明>将命令输出写入到文件或设备(例如打印机)中,而不是写在命令提示符窗口中。<从文件中而不是从键盘中读入命令输入。>>将命令输出添加到文件末尾而不删除文件中的信息。>&将一个句柄的输出写入到另一个句柄的输入中。<&从一个句柄读取输入并将其写入到另一个句
2、柄输出中。
3、从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。 默认情况下,可以从键盘将命令输入(即STDIN句柄)发送到Cmd.exe,然后由Cmd.exe将命令输出(即STDOUT句柄)发送到命令提示符窗口。 一般的命令行程序输入输出请求都通过内部定义三个“端口”(在NT下称为“句柄”,在DOS下未定义)来完成,分别为标准输入stdin、标准输出stdout、标准错误stderr。它们通常指向的设备为控制台(console,代码为CON),其中stdin指向控制台的键盘,stdout/st
4、derr指向控制台的监视器。因此,控制台通常即指键盘与监视器的联合体,这是在早期大型机的终端机上所体现出来的概念。其中的stdin可被<重定向,stdout可被>、>>重定向,而stderr在DOS下不可直接重定向,只有通过ctty或其它命令将系统控制权转交给其它设备的方式,来间接完成。 下表将列出可用的句柄。句柄句柄的数字代号说明STDIN0键盘输入STDOUT1输出到命令提示符窗口STDERR2错误输出到命令提示符窗口UNDEFINED3-9这些句柄由应用程序和各个具体工具单独定义。 数字0到9代表前
5、10个句柄。可以使用命令Cmd.exe运行程序并将前1012个句柄中的任何一个重定向到该程序。要指定想使用的句柄,可在重定向操作符前面键入该句柄的数字。如果未定义句柄,则默认的<重定向输入操作符是0,而默认的>重定向输出操作符是1。键入>或<操作符之后,必须指定要读取或写入数据的位置。可以指定文件名或另一个现有的句柄。 要指定重定向到现有句柄,请使用与(&)字符,后面接要重定向的句柄号(例如&句柄#)。例如,下面的命令可以将句柄2(即STDERR)重定向到句柄1(即STDOUT):1<&2复制句柄 重定向
6、操作符&可以将输出或输入从一个句柄复制到另一个指定的句柄。例如,要将dir输出发送到File.txt并将错误输出发送到File.txt,请键入:dir>c:file.txt2>&1复制句柄时,可以复制该句柄原状态的所有特性。例如,如果一个句柄具有只读访问的属性,则该句柄的所有副本都具有只读访问属性。不能将一个具有只读访问属性的句柄复制为另一个具有只写访问属性的句柄。重定向命令输出(<) 要从键盘或设备重定向命令输出,请使用<操作符。例如,要从File.txt得到sort命令的命令输入,请键入:sort7、ile.txt File.txt的内容将以字母顺序列表的方式显示在命令提示符窗口中。 <操作符可以打开具有只读访问的指定文件名。所以,不能使用该操作符向文件中写入信息。例如,如果以<&2启动程序,则所有试图读取句柄0的操作都将失败,因为句柄2最初是以只读访问打开的。注意·0是<重定向输入操作符>的默认句柄重定向命令输出(>) 几乎所有的命令都将输出发送到命令提示符窗口。即使将输出发送到驱动器或打印机的命令也会在命令提示符窗口显示消息和提示。12 要将命令输出从命令提示符窗口重定向到文件或设备,请使用>8、操作符。可以在许多命令中使用该操作符。例如,要将dir输出重定向到Dirlist.txt,请键入:dir>dirlist.txt 如果Dirlist.txt不存在,Cmd.exe将创建该文件。如果Dirlist.txt存在,Cmd.exe将使用dir命令的输出替换文件中的信息。 要运行netshroutingdump命令,然后将命令输出发送到Route.cfg,请键入:netshroutingdump>c:route.cfg >操作符可以打开具有只写访问属性的指定文件。所以,不能使用该操作符读取文件。9、例如,如果使用重定向>&0启动程序,则所有试图写入句柄1的操作都将失败,因为句柄0最初是以只读访问大开的。注意·1是>重定向输出操作符的默认句柄。使用<&操作符重定向输入和复制 要使用重定向输入操作符<&,指定的文件必须已经存在。如果输入文件存在,Cmd.exe将以只读方式打开该文件,然后将文件中作为输入的字符发送到此命令(如同从键盘输入一样)。如果指定了句柄,Cmd.exe将指定的句柄复制到系统
7、ile.txt File.txt的内容将以字母顺序列表的方式显示在命令提示符窗口中。 <操作符可以打开具有只读访问的指定文件名。所以,不能使用该操作符向文件中写入信息。例如,如果以<&2启动程序,则所有试图读取句柄0的操作都将失败,因为句柄2最初是以只读访问打开的。注意·0是<重定向输入操作符>的默认句柄重定向命令输出(>) 几乎所有的命令都将输出发送到命令提示符窗口。即使将输出发送到驱动器或打印机的命令也会在命令提示符窗口显示消息和提示。12 要将命令输出从命令提示符窗口重定向到文件或设备,请使用>
8、操作符。可以在许多命令中使用该操作符。例如,要将dir输出重定向到Dirlist.txt,请键入:dir>dirlist.txt 如果Dirlist.txt不存在,Cmd.exe将创建该文件。如果Dirlist.txt存在,Cmd.exe将使用dir命令的输出替换文件中的信息。 要运行netshroutingdump命令,然后将命令输出发送到Route.cfg,请键入:netshroutingdump>c:route.cfg >操作符可以打开具有只写访问属性的指定文件。所以,不能使用该操作符读取文件。
9、例如,如果使用重定向>&0启动程序,则所有试图写入句柄1的操作都将失败,因为句柄0最初是以只读访问大开的。注意·1是>重定向输出操作符的默认句柄。使用<&操作符重定向输入和复制 要使用重定向输入操作符<&,指定的文件必须已经存在。如果输入文件存在,Cmd.exe将以只读方式打开该文件,然后将文件中作为输入的字符发送到此命令(如同从键盘输入一样)。如果指定了句柄,Cmd.exe将指定的句柄复制到系统
此文档下载收益归作者所有