ping的批處理文件編寫
原文地址:ping的批處理文件編寫作者:迷你貓
做爲一名網絡工程師,經常要測試某地網絡的好壞,而最直接的命令就是ping,但是一次ping好多天,而且每隔一段時間就要ping和tracert,使工作繁瑣麻煩,所以就需要學習一些簡單的批處理了。
下面跟懶人簡單介紹一下ping的批處理文件編寫。
首先,在電腦的任一個地方,(我習慣在桌面)新建一個文本文檔,打開之後寫入下面語句
date/t >>c:test.txt
(顯示日期,並重定向寫入到c盤下text.txt下)
time/t >>c:test.txt
(顯示時間,並重定向寫入到c盤下text.txt下)
ping -n 50 192.168.1.1
>>c:test.txt
(執行ping命令,ping地址192.168.1.1總共50個包,然後寫入c盤下test.txt文件中)
tracert 192.168.1.1
>>c:test.txt (執行tracert命令,tracert地址192.168.1.1,並寫入c盤下的test.txt文件中)
然後,寫入以上簡單的命令後保存退出,並重命名剛纔的文本文檔,要以後綴名bat結尾(注:該文件不要重命名爲ping.bat,否則容易陷入DOS循環。原因:DOS內部命令與批文件重名,會陷入DOS循環)
那如何讓批處理文件每隔一定的時間執行一次呢!
只需要在用GOTO和:即可;舉例如下:
@echo
off
:main
ping 192.168.1.1
>>c:test.txt
ping -n 60
127.1>nul&goto
main
(其中goto就是跳轉的意思,60就是大約60秒;大概的意思應該就是執行ping命令,執行完60秒以後重新跳轉到開始繼續執行ping命令,其中60秒的時間可以修改)
大家都知道如果ping某個地址50個包,然後重定向到文本中,從文本查看的時候,我們有時只需要查看丟包率和延時,其中50個包的往返信息都沒用,如何將那些沒用的信息去掉呢!
下面需要用到管道符|和find命令;還是舉例如下:
ping 192.168.1.1
|find /v "Request timed out"|find /v "Reply
from">>c:test.txt
(其中管道符|的意思是將上一命令執行的結果傳遞給下一命令去處理;find是查找的意思,/v是find的參數,意思是顯示所有未包含指定字符串的行,其中find還有其他參數如下
/V 顯示所有未包含指定字符串的行。 /C 僅顯示包含字符串的行數。 /N 顯示行號。 /I
搜索字符串時忽略大小寫。 /OFF[LINE]
不要跳過具有脫機屬性集的文件。
上面一句總的意思是將ping
192.168.1.1輸出的結果剔除有Request timed
out和Reply
from的行,再將結果保存到test.txt文件中)
下面寫一個簡單的批處理文件供大家參考
@echo off :main date/t
>>d:a.txt time/t
>>d:a.txt
date/t
>>d:t.txt time/t
>>d:t.txt ping -n 5 192.168.100.1
|find /v "Request timed out"|find /v "Reply
from">>d:a.txt tracert 192.168.100.2
>>d:t.txt echo
--------------------------------------------------------------------------------
>>d:a.txt echo
--------------------------------------------------------------------------------
>>d:t.txt ping -n 3600
127.1>nul&goto main
接下來再給同行介紹一個ping某一地址段的批處理文件:
for /l %p in (1,1,101) do
@ping 192.168.0.%p -n 1
>>c:test.txt
意思是:ping192.168.0段的地址,從192.168.0.1開始ping,每隔1個IPping一個包,一直ping到192.168.0.101,然後將結果保存到c盤下的test.txt文件中。
以上爲學習中的簡單總結,希望能幫到同行們,如有問題請留言。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.