windows批处理命令FOR的巧用

  For命令对于我们机房管理员来说是一个非常实用的命令,它可以批量地完成很多操作。在这里我们使用Windows 2000版本中的For命令,因为Windows 2000中的For命令功能比Windows 98中增强了很多。下面举几个比较实用的例子。

  一、测试单网段内所有计算机的连通性

  为了检测机房内所有计算机的连通性,不用一个一个地输入命令,我们只要输入一条命令就可以了。

  首先建立一个批处理文件Pingall.bat,然后写入一条命令:

  @for /L %%A in (1,1,254) do ping 192.168.0.%%A |find "Reply">>pingall.log

  说明:“/L”参数代表迭代,“%%A”是可替换参数,“(1,1,254)”表示从1开始,步长为1,一直到254。“find"Reply">>pingall.log”表示一旦发现Reply就将结果写入Pingall.log中。

  运行该批处理程序后,我们只要查看Pingall.log就可以知道机房内电脑的连通情况了。但是这个批处理程序运行还是有点缺陷,即运行速度比较慢。我们在Ping命令后加上如下参数:-n 1 -l 16 -w 100,命令重新改写为:

  @for /L %%A in (1,1,254) do ping 192.168.0.%%A -n 1 -l 16 -w 100|find "Reply">>pingall.log

  这样该程序就可以很快扫描完所有的计算机。

  二、批量建立用户

  假设我们要建立60个学生用户,分别是s1、s2……s60。建立一个批处理程序,输入如下命令:

  @for /L %%A in (1,1,60) do net user s%%A /add

  三、批量绑定IP地址和MAC地址

  可专使用一些MAC地址扫描工具将MAC地址扫描出来,然后将IP地址和MAC地址保存到一个文件中。格式如下:

  192.168.0.1 00-e0-4c-60-0c-f6

  192.168.0.2 00-e0-4c-50-07-8d

  ……

  192.168.0.60 00-e0-4c-50-07-80

  将该文件命名为Ipmac.txt。

  建立一个批处理程序然后输入:

  @for /F %%A in (ipmac.txt) do arp -s %%A

  说明:“/F”是使用For命令的文件解析功能,该命令就是将Ipmac.txt中的每一行解析为一个参数,将Ipmac.txt和批处理程序保存到一个文件夹内。运行该程序,IP地址和MAC地址就绑定好了。

  四、查看局域网中所有的共享文件夹

  学生常常在机房中共享很多文件夹,有的学生将自己的作业共享给别的同学,为了查清所有的共享,我们可以输入如下命令:

  @for /L %%A in (1,1,60) do net view s%%A |find /v"命令">>allshare.log

  说明:“/v”表示除了字符所在行以外的结果都输出。

  运行该命令,打开Allshare.log我们就可以知道谁私自共享文件夹了。

  五、批量建立学生文件夹

  假设要建立s1、s2……s60,总共60个文件夹。使用如下命令建立:

  @for /L %%A in (1,1,60) do md s%%A

  如果要使用学生的真实姓名来建立文件夹,可以先在一个文本文件中输入学生姓名,每个姓名要占一行。然后保存为Name.txt,然后输入:

  @for /F %%A in (name.txt) do md %%A

  将该命令保存为一个批处理程序,和Name.txt保存到一个文件夹中,然后运行该程序,就会建立很多的文件夹。

  利用For命令还可以做很多的批量操作,各位老师们发掘一下吧。(河北省沙河市二十冶高级中学 于江波)