DOS命令里的>nul参数起什么作用?

DOS命令里的>nul参数起什么作用?

分享
2007-11-01 09:50
nul是Dos中的一个设备文件名 表示空设备
CON 控制台(键盘/显示器) AUX 第一串行通信口
PRN 第一并行通信口/打印机 COM1 第一串行通信口
LPT1 第一并行通信口/打印机 COM2 第一串行通信口
LPT2 第一并行通信口/打印机 NUL 空文件


>nul 是屏蔽标准输出在屏幕上的显示,
2>nul 是屏蔽出错显示,
>nul 2>nul 是无论对错,都屏蔽屏幕显示。
虚拟的空设备NUL有三种常见的用法:

  1. 用来删除文件:
  COPY NUL<文件名>
  一次只能删除一个文件,且删除后用UNDELETE和PCTOOLS无法恢复。

  2. 屏蔽某些出错信息或DOS提示,如:
  COPY *.* C:>NUL
  这样,原来显示在屏幕上的"*.* files copies.”的提示将被屏蔽不再显示,这在编制批文件时非常有用。

  3. 判断目录在存在
  在批文件中可用IF子句判断文件的存在,却没有专用于判断目录存在的语句,可用NUL进行,例如:
  IF EXIST C:CX NUL MD CX1
  表示如果C盘根目录下存在CX子目录则在根目录下建立名为CX1的子目录,需指出的是,此判断命令在DOS提示符下直接键入无效。必须用于批文件中。
关于 ping -n 1 127.1>nul:

1、ping是测试网络连接性的网络命令,参数"-n 1"表示只发送一次ICMPS数据包来测试网络的连接性。

2、127.1表示本机保留IP地址,实际就是127.0.0.1,ping 127.1就表示ping 127.0.0.1,可以测试网卡及TCP/IP协议是否正常安装及工作。

3、">nul"表示把命令产生的屏幕显示信息重定向(>)到空设备(nul),这样在屏幕上就没有显示ping命令的执行结果了。如果想屏蔽出错信息,可以用">nul 2>nul"屏蔽一切屏幕输出。

如果想屏蔽出错信息,可以用">nul 2>nul"屏蔽一切屏幕输出。
这个">nul 2>nul"可以屏蔽一切屏幕的输出可以这样理解:

  假如你执行一个命令,但是不想在屏幕里看到这个命令的执行情况,可以使用"[命令]>nul"就可以屏蔽命令在屏幕上的输出了,但是有的命令执行会出错,即使用了">nul"也不能屏蔽命令产生的信息,所以就在后面加" 2>nul"这个,就是"[命令]>nul 2>nul",这样,不管命令是否正确的运行,都不会在屏幕看到这个命令所产生的屏幕显示了。

  我们举一个简单的例子吧。

  用"dir"命令可以显示当前目录的文件及文件夹列表,这时如果用"dir>nul",你就看不见dir命令执行的屏幕输出了,那么你再键入"dirr"会是什么情况呢?这时会显示" 'dirr' 不是内部命令,也不是外部命令,也不是批处理文件。",这时你也许会用"dirr>nul"来屏蔽这个错误提示,但是告诉你,你的猜想是错的,因为依然会出现" 'dirr' 不是内部命令,也不是外部命令,也不是批处理文件。"这个错误提示,这时如果你用"dirr>nul 2>nul"的话,你就在屏幕上看不到上面的出错提示了。不知道你再明白了没有。

  如果你想了解更多的关于nul的说明,可以在论坛里面搜索一下,可以搜索到willsort兄详细及精彩的关于nul用法的解说的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值