找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21781|回复: 6

[网络连接] 批处理IP与MAC收集更新如何去掉重复行?

[复制链接]
发表于 2010-9-14 19:31:42 | 显示全部楼层 |阅读模式
更新部份有点问题,请指教
PING 172.16.1.1 -w 3000 -n 1 这是为了延时,不然会出现有些MAC地址全0
代码:
  1. @echo off
  2. if exist c:\mac.ini goto up
  3. for /l %%a in (1,1,254) do ping 172.16.0.%%a -w 1 -n 1
  4. PING 172.16.1.1 -w 3000 -n 1
  5. for /f "skip=3 tokens=1,2 delims= " %%i in ('arp -a') do echo %%j              %%i >>c:\mac.ini
  6. goto end
  7. :up
  8. for /l %%a in (1,1,254) do ping 172.16.0.%%a -w 1 -n 1
  9. PING 172.16.1.1 -w 3000 -n 1
  10. for /f "skip=3 tokens=1,2 delims= " %%d in ('arp -a') do find "%%d " c:\mac.ini||echo %%e              %%d >>c:\mac.ini
  11. :end
复制代码
发表于 2010-9-14 20:40:03 | 显示全部楼层
有点什么问题?
 楼主| 发表于 2010-9-16 09:32:11 | 显示全部楼层
相同IP重复写入 MAC.INI文件


00-16-76-0e-73-73              172.16.0.185  
00-e0-81-02-21-19              172.16.0.186
00-e0-81-02-0d-55              172.16.0.187
00-16-76-09-9b-3e              172.16.0.188
00-17-6f-05-59-94              172.16.0.198
00-e0-a0-11-df-8a              172.16.0.200
00-07-E9-0A-00-1A              172.16.0.222
00-16-76-09-9a-d7              172.16.0.246
00-0f-ea-72-d0-97              172.16.0.247
08-10-74-1f-40-70              172.16.0.248
00-15-f2-a8-c0-86              172.16.0.249
00-1b-11-0f-ba-e5              172.16.0.251
00-1b-11-0f-ba-e8              172.16.0.252
00-90-27-89-21-6f              172.16.0.254
00-00-00-00-00-00              172.16.1.1

00-16-76-09-9a-d7              172.16.0.246
00-0f-ea-72-d0-97              172.16.0.247
发表于 2010-9-16 11:29:52 | 显示全部楼层

回复 3楼 的帖子

删除重复行不难吧?

批处理去除超大文本中的重复行
http://www.bathome.net/thread-4690-1-1.html
 楼主| 发表于 2010-9-16 17:52:32 | 显示全部楼层
不够完美,心过得不去
发表于 2010-9-16 22:06:58 | 显示全部楼层
那就好好学习,把它做到完美。
发表于 2010-9-19 08:32:59 | 显示全部楼层

看看下面这个,希望对你有所帮助

请在复制后将tab变量的值替换成实际的tab(论坛处理不了tab)
  1. @echo off
  2. set "tab=        "
  3. echo IP%tab%MAC>mac.txt&echo 正在进行中...
  4. for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|findstr /i "Default Gateway"') do (
  5.      for /f "tokens=1-3 delims=. " %%b in ("%%a") do set "ip=%%b.%%c.%%d."
  6. )
  7. for /l %%a in (1,1,255) do start /min ping /n 1 %ip%%%a
  8. ping /n 10 127.1>nul
  9. for /f "skip=3 tokens=1,2" %%a in ('arp -a') do echo %%a%tab%%%b>>mac.txt
  10. start mac.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:02 , Processed in 0.020724 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表