//以192.168.1.网段为例
ipconfig /all >ipconfig.txt
find "Default Gateway" ipconfig.txt >IP.txt
for /f "skip=2 tokens=13" %%a in (ip.txt) do echo %%a >ip.txt //显示为192.168.1.1 (网关)
setlocal enabledelayedexpansion
for /f "tokens=*" %%d in (ip.TXT) do (
set str=%%d
echo !str:~0,-4! >ip.TXT) //显示为192.168.1. 后有空格
for /f "delims=" %%c in (ip.txt) do set a=%%c
if " " == "%a:~-1,1%" (set "a=%a:~0,-1%" ) //通过处理消除空格
set i=%a%
for /l %%p in (1,1,254) do @echo ping %i%%%p -n 1 >%%p.bat //输入网段变量
for /l %%p in (1,1,254) do @echo exit >>%%p.bat //加入结束命令
for /l %%p in (1,1,254) do start %%p.bat //254线程拼命令
ping 1.1.1.1 -n 2 //作用在延时(只想了个简单的)
arp -a >arp.txt //显示网段在线 ip 和 mac .现在的xp不先拼通arp -a 是没用的,大家可以试下,只会显示网关信息.
del ipconfig.txt ip.txt
for /l %%p in (1,1,254) do del %%p.bat //删除临时文件
[ Last edited by zw750516 on 2007-8-4 at 09:08 PM ]作者: zw750516 时间: 2007-8-5 15:16 虽然不是很成熟的作品,但实用啊,怎么就没人讨论讨论指点指点啊,晕哦!!!作者: zw750516 时间: 2007-8-6 11:05 语句太繁索了,有没高手帮改下啊!!!作者: 429499381 时间: 2007-8-11 04:00 你的P处理的确许要很多简化的地方!! 我怀疑你的批处理根本得不到你想要的结果!!! 最多是得到自己的网关!!
看看我的
@ipconfig /all | find "Default Gateway" >c:\1.txt
@for /f "tokens=1,2 delims=:" %%a in (c:\1.txt) do set ip=%%b
@echo %ip%
@set i=%ip:~1,9%
:loop
@set /a a+=1
@start /i /min ping -n 2 -w 500 %i%%a% >nul
@if "%a%"=="20" exit
@goto :loop
[ Last edited by 429499381 on 2007-8-11 at 04:35 AM ]作者: zouzhxi 时间: 2007-8-17 11:02 RE 429499381: