由于日常工作中经常需要检查某个网段,或某些无规则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为止。
数值据实际情况修改即可,
此脚本执行后会在当前目录下生成两个文件,这里就不多说了。
第二个:验证一组无规律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地址。
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”的文件。
以下是此脚本的运行实验图!
以上脚本,请根据实际情况选择。
(排版好麻烦,不弄了。累死)