Board logo

标题: [其他] 请问批处理中>nul和<nul各有什么作用啊? [打印本页]

作者: h5599859    时间: 2008-11-27 11:45     标题: 请问批处理中>nul和<nul各有什么作用啊?

请问>nul和<nul各有什么作用啊,它们有什么区别啊
作者: namejm    时间: 2008-11-27 12:18

  >和<表示重定向,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
复制代码

作者: wxcute    时间: 2008-11-27 13:35

可参考:
[一日一教学]内容重定向符号:>和>>
http://bbs.bathome.net/thread-2516-1-1.html
重定向中的秘密(句柄备份)
http://bbs.bathome.net/thread-2579-1-1.html
作者: gs133790    时间: 2008-11-28 20:32

呵呵,本人是菜鸟,还是有点不懂.
如果初学者有基本的DOS基础,学写批处理应该先学什么呢?
作者: MarkovChain    时间: 2008-12-1 00:24

有幸又被扫盲了~~~
作者: firewolf85    时间: 2008-12-6 22:51

貌似可以理解为>nul速出到空设备(不输出)(不显示)
<nul输入空数据(不输入)(不显示输入)
作者: Keenkaida    时间: 2009-1-17 21:34

终于知道是什么意思了 呵呵
作者: weiyee    时间: 2009-7-4 14:06

好像还是没理解  得去找个实例看看
作者: jackmux    时间: 2012-5-31 11:25

理解了
作者: tangqingfu    时间: 2013-6-21 07:09

学习,谢谢分享!
作者: TAT    时间: 2022-2-18 17:28

学到了学到了,赞一个!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2