由于日常工作中经常需要检查某个网段,或某些无规则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


以上脚本,请根据实际情况选择。

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