Cping 是测试网段中网元是否存活的工具。
最近利用CmdShell实现了一次。
由于cmd中for语句的嵌套功能的局限,利用batch文件解决了for语句的嵌套。
运行时,只要cping 网段号 地址个数 | findstr live 就可以列出所有存活地址。
例如: cping 10.10.10 254 | findstr live
即可列出10.10.10 网段从 1 到 254 的所有存活地址。
外套,即主程序。
|
@echo off rem main() setlocal REM cping.bat if "%1" == "" goto default1 set seg=%1 goto main1 :default1 set seg=10.0.0 rem echo %seg% goto main1 :main1 if "%2" == "" goto default2 set num=%2 goto main2 :default2 set num=254 goto main2 :main2 for /l %%i in (1,1,%num%) do ( call inner.bat %seg% %%i ) endlocal echo on
|
内套, inner.bat
|
@echo off for /f "skip=3 tokens=1 usebackq" %%A in (`ping -n 1 -l 1 %1.%2`) do ( rem echo %%A if not "%%A"=="Request" goto alive echo %1.%2 is dead. goto next :alive echo %1.%2 is alive. :next rem noop )
| 引用地址: http://blog.chinaunix.net/u/3764/showart_253433.html本文出自 51CTO.COM技术博客 |