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文件中,靜靜地等主人回來查閱了。

 

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