DOS批处理命令在WLAN热点巡检工作中的应用

 
 

在WLAN日常巡检过程中,有对AP和交换机工作状态检测的要求。为做到这一点,维护人员需要把笔记本终端接入到热点网络(通过AP或者交换机接入均可),对每一个AP和交换机的IP地点进行PING操作,以确定所有AP及交换机工作状态是否良好。在热点数量不多或者热点下的AP及交换机数量不多时,这种方式尚可接受,但是在其它情况下,会由于维护人员的操作熟练性等因素,耽误大量时间。合理使用DOS的批处理命令,可以自动完成类似工作,大大提高维护效率。
对于类似这种重复对多个IP地址进行PING命令的操作,可以通过DOS的for循环命令加以实现(启动DOS命令窗口的方法是在WINDOWS开始菜单的运行中输入”cmd”,再输入回车键,不区分大小写)。在此不详细介绍for循环命令的用法,有兴趣者可以在DOS命令窗口中输入”help for”来查看它的具体用法,很详细。这里只介绍一下如何通过for循环来解决上述问题。
1. DOS命令中的FOR循环
假设所有AP和交换机的IP地址都存放在了一个名为infoAP.txt的文件中,存放格式为一个IP地址一行,则循环命令的格式为
for /F %i in (infoIP.txt) do ping %i
该命令将会从infoIP.txt文件中逐行读取IP地址,然后对读取出的IP地址执行ping操作,直到读取到最后一行为止。其中,
for为命令关键字;
/F表示将从文件中读取IP地址信息;
%i是一个参数变量,用于临时存取每一条从文件中读取出的IP地址
infoIP.txt给出了存放IP地址的文件名,注意要用()包起来,这里未加任何路径信息,表示该文件位于当前目录下(当前目录通常即为DOS命令窗口的提示符,可以通过 “cd 目标目录”来进入新的目录);
do ping %i表示将要执行ping 命令,而ping的对象就是从文件infoIP.txt读取出的当前行IP地址。这里do与for相对应,%i与前面/F后的%i相对应。
假设infoAP.txt中存放有3个IP地址,分别是127.0.0.1,192.168.1.1和192.168.1.2,则执行上述命令的截图如下
2. 将执行结果自动存入文件
使用for循环命令已经比逐条人工录入要方便不少,但由于DOS命令窗口只会保留一部分缓存中的数据,对于IP地址比较多时的情况,可能会冲掉部分数据。这里可以采用DOS命令中的管道符(>>)来保存结果。假设要把结果保存到result.txt中,即可把原来的命令修改为:
(for /F %i in (infoIP.txt) do ping %i) >>result.txt
注意原来的命令被整体用()包住,这样所有的执行结果将不会被显示,而是直接存储到result.txt文件中。在执行过程中,输入任何字符,命令窗口都不会有所显示,执行完毕,执行期间所输入的字符才会显示出来。
另一个需要注意的是,管道符有两种,>>是追加管道符,每次执行上述命令,都会把执行结果追加到result.txt之后,原来的内容不会受到影响;另一种管道符是单个>,每次执行上述命令,都会先清空result.txt文件中原来的内容,然后再把新的内容写入result.txt文件中。根据需要,可以选择使用不同的管道符。
3.通过批处理实现自动测试
在上述基础上,还可以通过DOS的批处理文件来的实现更为智能的测试方式。在同一个目录下建立两个文件,一个为批处理文件,另一个是存放IP地址的文本文件。假设批处理文件名为pingAP.bat,存放IP地址的文件仍然为infoIP.txt,则可以在pingAP.bat中写入如下两行内容
echo on
 (for /F %%i in (infoIP.txt) do ping %%i) >result.txt
其中,第一行的echo on表示会将执行过程在窗口中显示出来,第二行即为实际要执行的命令。注意与直接在窗口中敲入的命令相比,比原来的参数形式多了一个%,这是由于在DOS批处理文件中,%是一种转义符,为了不把命令行中的%作为转义符看待,需要在%前面再加一个%,这样实际执行时就可以正确地把参数读出了。
这样做的好处在于可以最大限度的简化维护人员的工作量,在对一个热点的AP或者交换机进行日常巡检或者排障时,只需要把infoIP.txt中的IP地址进行更新,并双击同目录下的pingAP.bat文件,就可以去做其它的工作了。等做完其它工作再回来,执行结果已经放到同目录下的result.txt文件中,静静地等主人回来查阅了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章