返回列表 发帖
  >和<表示重定向,ntcmds.chm中的解释是:
> 将命令输出写入到文件或设备(例如打印机)中,而不是写在命令提示符窗口中。
< 从文件中而不是从键盘中读入命令输入。

  而 nul 表示系统中的空设备。

  结合起来,简而言之,>nul 表示把命令的执行结果提示信息输出到空设备中,而这个空设备就像黑洞一样,会吞噬所有进入它里面的提示信息,所以,效果就是:提示信息被屏蔽掉了;<nul 表示从空设备中读入信息,以for /f 语句中的 set /p str=%%i<nul 之类的用法为常见,效果是:把屏幕上的原本分行输出的提示信息拼接成一行输出,可以测试以下代码:
  1. @echo off
  2. :: 要看到效果,请保证 test.txt 中有多行较短的内容
  3. for /f "delims=" %%i in (test.txt) do set /p str=%%i<nul
  4. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表