Win 7與win xp下Ping批處理

由於日常工作中經常需要檢查某個網段,或某些無規則IP段的網絡連通性。

特意整合了一些網上的資源來整改,現如今已大功告成並正常使用。

特意分享給廣大網友們。

第一個:檢查某網段或某組連續的IP地址範圍

@echo off
setlocal enabledelayedexpansion
set result=通信失敗.txt
FOR /L %%p IN (0,1,10) Do (
ping 192.168.1.%%p -n 2 -w 100
if not !errorlevel!==0 (
>>"通信失敗.txt" echo IP:192.168.1.%%p PING不通!!
echo "192.168.1.%%p 通信失敗!請檢查網絡"
)
if not !errorlevel!==1 (
>>"聯通正常.txt" echo IP:192.168.1.%%p 通!
echo "192.168.1.%%p 通信正常!"
)
)
echo 檢測完畢,按任意鍵將打開通信失敗IP的整合文件...
pause > nul
notepad %result%
exit

此腳本適用於XP、WIN7,因爲其判斷Errorlevel狀態碼。(下面個別腳本在XP或WIN7下需要修改,我會特別標註。)

此腳本第三行是用於控制IP地址前段,視情況更改“192.168.1”。(相信各位看官一看就明白了)

此腳本第四行括號中的內容用於控制IP範圍:(0,1,10)

第一位數:0表示變量的基數,也就是起點。

第二位數:1表示遞增量,每次循環+1。

地三位數:10表示變量最大值,大到254,、小到2.

例:(0,1,10)以上腳本表示從Ping 192.168.1.0開始,每次循環遞增1,Ping到192.168.1.10爲止。

數值據實際情況修改即可,

此腳本執行後會在當前目錄下生成兩個文件,這裏就不多說了。

155212954.jpg


第二個:驗證一組無規律IP地址的連通性

該腳本需要兩個文件進行配合,具體如下:

1、創建一個BAT文件用於放置IP地址池。例如:auto.bat(相信這個不用多說)


for %%B in (
10.2.9.130
10.2.9.131
10.1.253.65
10.1.253.66
10.1.253.67
10.1.253.68
10.1.253.69
10.1.253.70
10.1.253.71
10.1.253.72
10.1.253.73
10.1.253.74
10.1.253.75
10.1.253.76
10.1.253.77
10.1.253.78
10.1.253.79
) do rpclink.bat %%B

注意:第19行的BAT文件名必須和該腳本第二個BAT文件名保持一致!

2、創建一個BAT文件佈置循環任務。例:文件名爲:rpclink.bat

@echo off
echo "準備ping %1"
ping %1 -n 2 -l 2 | find "TTL" || goto errping
goto linkipc
:linkipc
echo "%1"
echo "%1 ">>ping通的終端ip地址.txt
goto end
:errping
echo "無法ping 通 %1 ,請檢查網絡">>無法ping通的終端ip地址.txt
echo "%1 ,請檢查網絡"
goto end
:end

注意:此腳本必須執行auto.bat,rpclink.bat不用執行。成功後同樣會在當前目錄下生成兩個文件,這裏不在逐一過目。

注:值得一提的是此腳本只能在Win7下運行,想運用在Win XP平臺下必須更改其查找字符串。

更改rpclink.bat文件,auto文件保持原樣。

@echo off
echo "準備ping %1"
ping %1 -n 2 -l 2 | find "Replay From" || goto errping
goto linkipc
:linkipc
echo "%1"
echo "%1 ">>ping通的終端ip地址.txt
goto end
:errping
echo "無法ping 通 %1 ,請檢查網絡">>無法ping通的終端ip地址.txt
echo "%1 ,請檢查網絡"
goto end
:end

第三行Find查找字符串從“TTL”更改爲“Replay From”。僅此而已,其他沒什麼區別。

第三個:驗證一組無規律IP地址的連通性、需要兩個文件(Txt,Bat),與第二種的區別在於界面友好,成功失敗都輸出在同一文件。(該腳本純屬網絡大神版權所有)

1、創建pingip.txt文件,用於存放IP地址。

163315372.jpg

2、創建一個BAT執行文件,名稱任意。

====================================================================
:: 檢測各主機信息,最後生成結果文件checkhost.txt
@mode con cols=80 lines=25
@echo off
title 檢測主機連接信息 By: Encle
setlocal EnableDelayedExpansion
set separator=--------------------------------------------------------------
set result=checkhost.txt
date /T > %result%
echo %time% >> %result%
:: 查看本機網絡連接信息
echo. >> %result%
echo 本機網絡連接信息: >> %result%
ipconfig | find ":" >> %result%
echo.%separator% >> %result%
:: 檢測各主機
for /f %%a in (pingip.txt) do (
    call :pinghost %%a
)
echo. >> %result%
date /T >> %result%
echo %time% >> %result%
echo 檢測完畢,按任意鍵將打開詳細結果文件...
pause > nul
notepad %result%
exit
:: pinghost子程序
:pinghost
ping -n 2 -w 200 %1 >> %result%
if %errorlevel%==0 (echo ping %1 ok) else (echo ping %1 failed)
echo.%separator% >> %result%
====================================================================

此腳本Win XP/Win7均可運行,運行成功後會在當前目錄下創建一個名爲“checkhost.txt”的文件。

以下是此腳本的運行實驗圖!

163851161.jpg


以上腳本,請根據實際情況選擇。

(排版好麻煩,不弄了。累死)


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