批处理 Nul用法(不一定正确)

 

nul 是空设备名 像个黑洞
> 是覆盖输出的意思
1是输出流,2是错误流(1可以省略不写)

>nul 2>nul 就是把 命令执行的输出信息和错误信息不输出到屏幕,而是输出到一个根本不存在的设备.
常见设备名:
con 控制台(键盘和显示器)
aux , com1 - com4 所有串口
prn , lpt1 - lpt3 所有并口
nul 空设备
clock$ 电子钟

重定向操作符
> 将命令输出写入到文件或设备中,而不是写在命令提示符窗口中。
< 从文件中而不是从键盘中读入命令输入。
>> 将命令输出添加到文件末尾而不删除文件中的信息。
>& 将一个句柄的输出写入到另一个句柄的输入中。
<& 从一个句柄读取输入并将其写入到另一个句柄输出中。
| 从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。

0 输入
1 输出
2 错误输出
3-9 由应用程序和各个具体工具单独定义。

>nul 2>nul意思是无论该语句执行是否成功,都屏蔽执行结果在屏幕上的显示。

1、Nul指的是空设备,它接收输出时理解为“黑洞”,从它接收输入时理解为“文本”。
2、>Nul,重定向输出到“黑洞”,如1>Nul 2>Nul屏蔽包括错误信息在内的所有输出信息。
3、<Nul,首先看Set /p Str=请输入:,接收输入的内容并赋值给Str变量在没有回车时光标是停在本行的;而Set /p Str=<a.txt将a.txt第一行的内容赋值给Str变量,光标自动跳到了下一行;现在我们将Str省略Set /p=请输入:<a.txt,就只会显示“请输入:”字符,同时光标紧跟在字符的后面;现在将a.txt换成Nul,因为不一定总存在a.txt,写成Set /p=bathome<Nul来达到输出字符不换行的目的。
4、配合For和其也命令用做延时的特殊用法,如For /L %%a in (1,1,Num) Do Ver>Nul,Do后面跟一个命令并将其输出屏蔽掉,通过修改Num值来延长和缩短延时的时间。

你可能感兴趣的:(批处理 Nul用法(不一定正确))