个人产品
企业产品
安全信息
病毒专栏 | 漏洞专栏 | 木马专栏 | 防护专栏 | 安全业界 | 毒霸活动 | 热点专题 | 漫画安全 | 期刊订阅
[an error occurred while processing this directive]
告诉您的位置:首页 > 资讯中心 > 防护技巧 > 正文
简介For命令具体格式以及在Windows中的妙用
2004年07月09日16:58:45 中国电脑教育报 
[an error occurred while processing this directive]
  在Windows中,我们经常要批量地来完成相同的工作,很多用户往往是上网搜索第三方软件来完成。其实在Windows中,巧妙地利用For命令就可以很轻松地完成很多批量工作。为了更好地理解我们的下一步实战,先让我们来看一下For命令的用法。For命令的具体格式如下:

  For %variable IN (set) do command [command-parameters],

  %variable——指定一个单一字母可替换的参数

  (set)——指定一个或一组文件,可以使用通配符

  command——指定对每个文件执行的命令

  command-parameters——为特定命令指定参数或命令行开关

   在批处理文件中使用 For 命令时,指定变量请使用“%%variable”,而不要用“ %variable”。变量名称是区分大小写的,所以“%i”不同于“%I”。由于For命令的用法和参数非常多,变化复杂,这里因篇幅原因就不再一一罗列了,用户可以在命令提示符后键入“For /?”来获得具体帮助。下面我们将直接进入实战,并结合实战讲述For命令的具体用法。

   1. 给文本文件批量加上落款

   在很多情况下,我们编辑处理完文档,都要给文件加上一个包括“通信地址、QQ、E-MAIL等等信息”的落款,如投往编辑部的稿件。如果只有一篇文章,直接输入倒也罢了,但假如你有很多这样的文件,该怎么办呢?难道每一篇稿件都要手工一个字一个字地输入那一成不变的落款吗?NO!完全没有必要这样费神,我们可以一次性地给所有文件添加上落款,假如我们要给放在“ABCDE”目录下的所有文本文件加上落款。那么就请先建一个名为Address.txt的文本文件,录入通信地址、QQ、E-mail等等信息,保存到E盘的根目录。

   再新建一个文本文件,录入以下内容:

  MD E:\TEMPabcde

  for /r E:\ABCDE %%I in (*.txt) do copy %%I+E:\address.txt E:\tempABCDE\

  for /r E:\tempABCDE %%I in (*.txt) do copy %%I E:\ABCDE\

  echo y|del E:\TEMPabcde

  echo y|rd E:\TEMPabcde

   录入完毕,经检查确认无误后,另存为“给文件加落款.bat”,也保存到E盘的根目录。现在,只需双击此批处理文件,就可以为E:\ABCDE文件夹中所有的TXT文件加上落款。

   提示:For命令指定参数“%I”从“E:\ABCDE”文件夹中的所有文本文件中取值 ;“/r”参数表示包括子目录。

   2. 批量获取文件列表

   如果我们需要制作某个目录下的文件清单,如电影文件的文件清单,可以用For命令来轻松完成。我们以制作F盘上的所有RM格式的电影文件的清单为例:

   先在F盘根目录下建一个名为“列文件清单.bat”的文本文件,然后输入以下内容并保存:

  For /r F:\ %%i in (*.rm) DO @echo %%~fi >>F:\RMList.txt

   双击此批处理文件,即可快速列出F盘上所有的以RM为扩展名的电影文件的清单。

   提示:For命令指定参数“%i”从F盘的所有以RM为扩展名的文件中取值;“@echo %%fi”表示将所有的RM文件及其完整路径显示出来;“>>F\RMList.txt”表示将输出结果重定向到F\RMList.txt文件中,打开该文件,即可看到详细的目录清单;“f”表示完整路径。还可以使用“%n”(文件名)、“%x”(文件扩展名)、“%d”(驱动器)、“%p”(路径)、“%s”(完整路径)、“%t”(文件日期)、“%z”(文件大小)等参数。

   3. 快速删除磁盘上的空文件夹

   假设我们要清理D盘上的空文件夹,那么请先用记事本建一个名为“kill.bat”的文件,在该文件中输入以下内容:

  dir d:\ /ad /b /s |sort /r >>d:\kill.txt

  For /f %%i in (d:\kill.txt) DO rd %%i

  echo y |del d:\kill.txt

   先查找并删除全部“Thumbs.db”文件,然后双击该文件,D盘上所有的空文件夹很快就消失的无影无踪了。

   提示:“dir d:\”表示列D盘上的所有目录包括子目录列表,其中参数“/ad”表示列所有目录;参数“/b”表示只列出文件夹名称而不显示标题信息或摘要:参数“/s”表示搜索,即查找D盘中的所有文件夹和子文件夹;“|”是管道符号,将Dir命令的结果传递给“sort”命令;“sort”命令表示排序;“/r”表示逆序列排序。之所以要逆序列排序,是因为通过逆序列排序后,D盘上的所有子文件夹总是会位于其父文件夹的前面,这样在用For命令删除空文件夹时,空的子文件夹被首先删除了,因此空的父文件夹就可以删除了。否则,因空的父文件夹中尚有空的子文件夹,会造成无法删除的情况。“>>d:\kill.txt”的作用是让屏幕回显重新定位到“d:\kill.txt”文件中。

   For 命令中参数“/f”的作用是让For命令从指定的文件中读取数据作为变量,示例是从Dir的结果文件“d:\kill.txt”文件中读取数据,每次读取一行传递给RD命令;RD命令的作用是删除由For命令传递过来的每一个文件夹,因RD命令无法删除尚有内容的文件夹,所以经过For命令的循环后,只是删除了所有的空文件夹,有内容的文件夹会完好无损地被保留下来。

   4. 批量获取局域网中所有IP地址与主机名的对应关系

   如果你是网管,肯定需要获取一张本网段内所有IP地址与主机名的对照表。如果你不想使用第三方软件的话,不妨用For命令试试。

   在命令提示符窗口中输入以下命令:

  For /L %i in (0,1,254) DO ping -a -n 1 192.168..0.%i |Find /i "reply" >>E:\IPAddress.txt

   好了,等命令执行完毕,打开“E:\IPAddress.txt”文件,一张完整的IP与主机名的对照表已经初步形成了,你只需作简单的编辑修改即可打印输出了。

   提示:For命令指定参数“%i”从0开始,每次增加1,直到254为止,即一个C类网段的全部地址。如果用户的局域网自行定义的了IP地址,应根据实际情况设置,如可以为“172.16.0”;“-a”表示获取主机名;“-n -1”表示回显的次数为1次,默认情况下为4次;Find /i "reply“表示查找已响应的主机,即已ping通的主机;“E:\IPAddress.txt”表示将屏幕回显内容输入到“:\IPAddress.txt”文件中。
    【责任编辑:Belinda】
金山毒霸6下载版 + 病毒预警短信 超值价10元/月
在线查毒免费体验·在线杀毒10元包月热买不限次
免费使用词霸搜索 随时随地获取海量词典及例句
【我要发表评论】【内容指正】【论坛】【推荐给好友】·【 】【打印】·【顶部】【关闭窗口
【相关文章】 【去论坛】
· 黑客网站明目张胆卖病毒 "定做"病毒卖100元 2004-07-09 16:52
· 北京信息安全中心毒霸联合发布7.09热门病毒 2004-07-09 16:43
· 北京信息安全中心毒霸联合发布7.08热门病毒 2004-07-09 16:41
· 病毒攻击福建部分医院网络 有患者就医受阻 2004-07-09 16:30
· 支持NXBit安全技术Intel公布E0步进的处理器 2004-07-09 16:24
· 英特尔出新举 Q4将为奔腾4增加NX安全技术 2004-07-09 14:22
· 微软出于安全考虑 劝说用户升级老版本产品 2004-07-09 14:21
· Dr.Web清理木马病毒程序未明缓冲溢出区漏洞 2004-07-08 18:22
· I-MallCommerceI-mall脚本远程命令执行漏洞 2004-07-08 18:04
· EasyChat Server程序 多个远程拒绝服务漏洞 2004-07-08 17:08
·金山毒霸单机版讨论区
·金山网镖讨论区
·金山毒霸网络版讨论区
·毒霸在线业务专题讨论区
·安全软件讨论区
·病毒救援
【相关专题】
· “即时通讯软件”安全隐患重重专题 2003-10-08 15:04
· 金山“安全体验风暴”专题 2003-08-21 21:01
· 蓝色安全革命综合报道专题 2002-10-24 11:06
· 蓝色安全革命各方盛赞专题 2002-10-08 11:17
· 迎安全国庆惩作怪病毒专题 2002-10-02 20:40
· 毒霸绿色无忧服务万里行专题 2002-09-28 11:12
· 金山网镖2003功能简介专题 2002-09-11 11:33
· 金山毒霸2003-功能简介专题 2002-09-11 11:30
· 防毒于未然杀毒更有效专题 2002-09-10 09:39
· 后病毒时代的安全之道专题 2002-01-11 10:35
[an error occurred while processing this directive]
[an error occurred while processing this directive]
·全民围剿 新春无毒 
·
毒霸、网镖新功能体验版 
·
毒霸网络版2.0 sp1发布 
·
毒霸6新禧礼包惊喜登场
·
毒霸网络版 人人有礼
·毒霸网络版“租用服务”
·
金山毒霸网络版大事件
·第三次缉毒万里行专题
·JPEG图片病毒专题
·金山引爆“双响炮”计划
·金山毒霸6增强版介绍
·
十面埋伏围剿木马发布会
·
6.12北京用户产品座谈会
·
金山"网游防火墙"产品
·
反电子垃圾新功略专题
·“金山毒霸再获桂冠”
·金山“安全体验风暴”
·“冲击波”病毒之罪?
·全球黑客攻击专题
·金山毒霸V金山网镖V介绍
·金山V攻略详解专题
·金山毒霸&智冠捆绑销售
·金山软件爱心服务活动
·2003年病毒疫情调查专题
更多...
[an error occurred while processing this directive]
·病毒短信 ·在线杀毒
·病毒上报 ·专杀工具
·产品答疑 ·
媒体合作
金山简介 | 业务合作 | 广告服务 | 招聘信息 | 客服中心 | 网页报错 | 添加毒霸到QQ上
© 2007 Kingsoft Corp. 增值电信业务经营许可证B2-20040288号