cmd命令的重定向输出2祝辞& 1详解

  

关于cmd命令的重定向输出2祝辞,1

  

mycommand祝辞mylog。txt 2祝辞,1应该是最经典的用法了。

  

命令的结果可以通过“%祝辞”的形式来定向输出,%表示文件描述符:

  

1为标准输出stdout, 2为标准错误stderr。

  

系统默认%值是1,也就是“1祝辞”,而1祝辞可以简写为祝辞,也就是默认为祝辞.stdout的默认目标是终端,stderr的默认目标为也是终端。我们在批处理中执行:回声文本祝辞的结果。txt,我们就可以在屏幕上会看到回波文本1祝辞的结果。三种,即是这个道理。
  其中,需要直接与重定向符号结合使用。

  

<强>应用实例:

  

1,将结果输出到result.txt

  
  

净停止myservice祝辞祝辞结果2祝辞,1

     

2,隐藏程序输出结果

  
  

净停止myservice祝辞nul 2祝辞nul

     

<强>微软关于重定向的文章:使用命令重定向操作符

  

可以使用重定向操作符将命令输入和输出数据流从默认位置重定向到其他位置。输入或输出数据流的位置称为句柄。
  下表将列出可用的句柄。

  

句柄句柄的数字代号描述
  STDIN 0
  键盘输入
  
  STDOUT 1
  输出到命令提示符窗口
  
  STDERR 2
  错误输出到命令提示符窗口
  
  定义3 - 9
  句柄由应用程序单独定义,它们是各个工具特有的

  

数字0到9代表前10个句柄,可以使用命令Cmd。exe运行程序,并对该程序前10个句柄中的任何一个句柄进行重定向。要指定要用的句柄,请在重定向操作符之前键入该句柄的数字。如果未定义句柄,则默认的& lt;重定向输入操作符是0,而默认的祝辞重定向输出操作符是1。键入& lt;或在操作符之后,必须指定数据的读写位置。可以指定文件名或其他现有的句柄。
  要指定重定向到现有句柄,请使用与(和)字符,后面接要重定向的句柄号(即,句柄号)。

  

例如,下面的命令可以将句柄2(即STDERR)重定向到句柄1(即STDOUT):

  

<强> 2祝辞,1

  

下表列出了可用于重定向输入和输出数据流的操作符。

  
  

重定向操作符描述
  比;将命令输出写入到文件或设备(如打印机),而不是命令提示符窗口或句柄。
  & lt;从文件而不是从键盘或句柄读入命令输入。
  在比;将命令输出添加到文件末尾而不删除文件中已有的信息。
  祝辞,将一个句柄的输出写入到另一个句柄的输入中。
  & lt;和;从一个句柄读取输入并将其写入到另一个句柄输出中。
  |从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。

     

默认情况下,可以从键盘将命令输入(即STDIN句柄)发送到Cmd。exe,然后由Cmd。exe将命令输出(即标准输出句柄)发送到命令提示符窗口。

  

<强>重定向输入(& lt;)

  

要通过键盘将输入重定向到文件或设备,请使用& lt;操作符。例如,要从文件。txt获取排序命令的输入,请键入:

  
  

sort   

文件。txt的内容将以字母顺序列表的方式显示在命令提示符窗口中。

  

& lt;操作符可以打开具有只读访问权限的指定文件名,因此,不能在使用该操作符时向文件中写入信息,例如,如果以& lt;和2启动程序,则所有试图读取句柄0的操作都将失败,因为句柄2最初是以只写访问方式打开的。

  

<强>注意

  

0是& lt;重定向输入操作符的默认句柄。

  

<强>重定向输出(在)

  

几乎所有的命令都将输出发送到命令提示符窗口。即使将输出发送到驱动器或打印机的命令也会在命令提示符窗口显示消息和提示。

  

要将输出从命令提示符窗口重定向到文件或设备,请使用比;操作符。可以在许多命令中使用该操作符。例如,要将dir输出重定向到Dirlist.txt,请键入:

  
  

dir> dirlist.txt      

如果目录。三种不存在,Cmd。exe将创建该文件。如果目录。txt存在,Cmd。exe将使用dir命令的输出替换文件中的信息。

  

要运行netsh路由转储命令,然后将输出发送到Route.cfg,请键入:

  
  

netsh路由dump> c: \ route.cfg

     

比;操作符可以打开具有只写访问权限的指定文件,因此,不能使用该操作符读取文件,例如,如果使用重定向操作符祝辞,0启动程序,则写入句柄1的所有尝试操作都将失败,因为句柄0最初是以只读访问方式打开的。

cmd命令的重定向输出2祝辞& 1详解