>和<表示重定向,ntcmds.chm中的解释是:
> 将命令输出写入到文件或设备(例如打印机)中,而不是写在命令提示符窗口中。
< 从文件中而不是从键盘中读入命令输入。
而 nul 表示系统中的空设备。
结合起来,简而言之,>nul 表示把命令的执行结果提示信息输出到空设备中,而这个空设备就像黑洞一样,会吞噬所有进入它里面的提示信息,所以,效果就是:提示信息被屏蔽掉了;<nul 表示从空设备中读入信息,以for /f 语句中的 set /p str=%%i<nul 之类的用法为常见,效果是:把屏幕上的原本分行输出的提示信息拼接成一行输出,可以测试以下代码:- @echo off
- :: 要看到效果,请保证 test.txt 中有多行较短的内容
- for /f "delims=" %%i in (test.txt) do set /p str=%%i<nul
- pause
复制代码
|