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
)

引用地址: [url]http://blog.chinaunix.net/u/3764/showart_253433.html[/url]