windows batch cmd 批处理命令之 重定向 和 >nul

您所在的位置:网站首页 dos命令输出到文件 windows batch cmd 批处理命令之 重定向 和 >nul

windows batch cmd 批处理命令之 重定向 和 >nul

2023-12-25 04:50| 来源: 网络整理| 查看: 265

输出重定向命令:>, >>

将输出信息重定向到指定的设备或文件。系统默认输出到显示器。

echo aaaaa>a.txt 即可将本在显示器上显示的信息aaaaa输出到文件a.txt中,屏幕上没有任何显示。如果文件a.txt本来已经存在,该命令将首先擦除a.txt中的所有信息,然后写入信息aaaaa;若a.txt本来就不存在,该命令即可新建一个a.txt文件,并写入信息aaaaa。

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

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

">nul 2>nul"可以屏蔽一切屏幕的输出,例如:dir >nul 2>nul这样屏幕上什么都不会输出,也就是没有结果。

1>nul 表示将正确执行目录树的信息禁止输出,2>nul 表示将执行过程中的错误信息禁止输出。

echo aaaaa>>a.txt 类似于echo aaaaa>a.txt。区别在于:如果a.txt本已存在,>a.txt会擦除a.txt中的原有内容,而>>a.txt并不擦除原有内容,仅在a.txt文件的末尾添加信息aaaaa。a.txt不存在时,二者没有差别。

4.输入重定向命令:

a.txt   echo 请任意输入字符,以回车结束:   set /p ifo=   cls   echo 【 从屏幕获得的输入信息 】   echo %ifo%   set /p ifo=nul

 

 

例如,regedit /s c:\windows\edit.reg >NUL,这其中的>nul是什么用途呢?

解释:这是DOS命令的问题。

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

批处理就是用一个文件保存若干条命令(里面还可以有条件判断、循环等操作),运行该文件就等于运行其保存的若干条命令。

你问这一语句,只是一条dos命令,并不是批处理。当然,它可能作为一条命令放在批处理文件里面,但概念不能混淆。

刚才说了,dos命令是用户敲入命令,计算机执行,然后返回。无论其结果是否有错,都有所返回,返回计算结果或者错误信息。——默认情况是这样。

那是因为dos命令的输出方是控制台。dos命令是可以控制输出方的,可以把结果输出到屏幕(控制台),也可以把结果输出到文件。控制输出到哪里就需要一个dos的重定向符,">"或者">>"。(其实还有输入定向的,如"con"。当我们希望把文件列表到文件,就可以把重定向转到文件,可以"dir >list.txt",但若原来存在list.txt则会覆盖。若list.txt本来已经有内容,希望把dir到的结果追加到文件,可以"dir >>list.txt"。这个你可以自己试试。

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

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



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3