Dzwebs.Net

撰写电脑技术杂文十余年

批处理中的重定向符>,>> ,<、>&、<&

Admin | 2013-11-13 11:09:22 | 被阅次数 | 9558

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在使用批处理代码的时候,时常会接触到定向符,下面为大家介绍三类定向符。

  第一种:>   重定向符

  功能:输出重定向命令

  这个字符的意思是传递并且覆盖,他所起的作用是将运行的结果传递到后面的范围(后边可以是文件,也可以是默认的系统控制台)

  在NT系列命令行中,重定向的作用范围由整个命令行转变为单个命令语句,受到了命令分隔符&,&&,||和语句块的制约限制。

  比如:

  使用命令:echo hello >1.txt将建立文件1.txt,内容为”hello “(注意行尾有一空格)
  使用命令:echo hello>1.txt将建立文件1.txt,内容为”hello“(注意行尾没有空格)

  第二种:>>  重定向符

  功能:输出重定向命令

  这个符号的作用和>有点类似,但他们的区别是>>是传递并在文件的末尾追加,而>是覆盖
用法同上

  同样拿1.txt做例子

  使用命令:
  echo hello > 1.txt
  echo world >>1.txt

  这时候1.txt 内容如下:
  hello
  world

  第三种:<、>&、<& 重定向符

  这三个命令也是管道命令,但它们一般不常用。

  <,输入重定向命令,从文件中读入命令输入,而不是从键盘中读入。
  @echo off
  echo 2005-05-01>temp.txt
  date <temp.txt
  del temp.txt

  这样就可以不等待输入直接修改当前日期

  >&,将一个句柄的输出写入到另一个句柄的输入中。
  <&,刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中。

  常用句柄:0、1、2,未定义句柄:3—9
  1>nul 表示禁止输出正确的信息
  2>nul 表示禁止输出错误信息。

  其中的1与2都是代表某个数据流输入输出的地址(NT CMD 称之为句柄,MSDOS称之为设备)。
  句柄0:标准输入stdin,键盘输入
  句柄1:标准输出stdout,输出到命令提示符窗口(console,代码为CON)
  句柄2:标准错误stderr,输出到命令提示符窗口(console,代码为CON)
  其中的stdin可被<重定向,stdout可被>、>>重定向。

  我们已经知道读取文本中的内容可以用for命令,但如果只需要读取第一行用for命令就有点麻烦。简单的办法如下:
  @echo off
  set /p str=<%0
  echo %str%
  pause

  运行显示批处理文件自身的第一行:@echo off


该杂文来自: 基础知识杂文

上一篇:vbs创建注册表项目的两种方法

下一篇:批处理之变量嵌套与命令嵌套

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计