Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  批处理/bat  >  正文 有关批处理中的>NUL的作用

有关批处理中的>NUL的作用

发布时间:2014-09-03   编辑:www.jquerycn.cn
例如,regedit /s c:\windows\edit.reg >NUL,这其中的>nul是什么用途呢?是不是执行完这个注册表以后,自动删除这个文件呢?

例如,regedit /s c:\windows\edit.reg >NUL,这其中的>nul是什么用途呢?是不是执行完这个注册表以后,自动删除这个文件呢?

解释
这是DOS命令的问题。
以前没有windows的时候,dos进行什么操作都是人手输入一条命令,然后系统返回这条命令的结果。

批处理就是用一个文件保存若干条命令(里面还可以有条件判断、循环等操作),运行该文件就等于运行其保存的若干条命令。
你问这一语句,只是一条dos命令,并不是批处理。当然,它可能作为一条命令放在批处理文件里面,但概念不能混淆。

刚才说了,dos命令是用户敲入命令,计算机执行,然后返回。无论其结果是否有错,都有所返回,返回计算结果或者错误信息。——默认情况是这样。
那是因为dos命令的输出方是控制台。dos命令是可以控制输出方的,可以把结果输出到屏幕(控制台),也可以把结果输出到文件。控制输出到哪里就需要一个dos的重定向符,“>”或者“>>”。(其实还有输入定向的,如“<”。)
我们平时敲命令,默认定向是控制台。例如dir命令,其实实际运行了“dir >con”。当我们希望把文件列表到文件,就可以把重定向转到文件,可以“dir >list.txt”,但若原来存在list.txt则会覆盖。若list.txt本来已经有内容,希望把dir到的结果追加到文件,可以“dir >>list.txt”。这个你可以自己试试。

同样道理,“nul”是空的意思。把执行结果定向到空,意思便是不返回任何结果,无论它是错是对。这样做对于批处理里面的命令有一个好处,就是在运行的时候你看不到它逐条运行的结果。(当然,逐条运行的命令父还是会看到的,除非开始就用echo off命令或者@命令。)

这样解释应该清楚了吧。它只是运行一条关于注册表的命令,并且不返回任何结果(操作成功或者失败),跟删除文件没有关系。

亲,您明白了吗?
jquery中文网,收集经典技术文章,服务普通百姓,哈~~~

您可能感兴趣的文章:
自动清除电脑垃圾及删除windows默认共享盘符的批处理文件
批处理批量安装字体的代码
很简单的实现进度条效果的批处理
有关批处理中的>NUL的作用
批处理修改计算机名、工作组及计算机描述
批处理判断是否特殊字符的代码
批处理重置TCP/IP协议的脚本
批处理实例 提取文本文件第一行与最后一行
php 设置磁盘权限的批处理文件
获取一个目录下所有文件扩展名的批处理

[关闭]