![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:28 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » {已结}请问如何比较文件内容-用于比较MAC地址 |
| 可打印版本 3,909 / 22 |
| 第1楼 chainliq | 发表于 2007-03-10 11:01 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
{已结}请问如何比较文件内容-用于比较MAC地址 文件a.txt里的内容如下:
192.168.2.1:00-E0-4C-F7-0C-E5 192.168.2.2:00-E0-4C-F7-0C-E3 192.168.2.3:00-E0-4C-F7-05-E4 192.168.2.4:00-E0-4C-F6-A8-BB 192.168.2.5:00-E0-4C-F7-05-E5 192.168.2.6:00-E0-4C-F5-E3-A1 192.168.2.7:00-E0-4C-F6-CD-06 192.168.2.8:00-E0-4C-F7-0C-F3 192.168.2.9:00-E0-4C-F5-E2-FD 文件b.txt里的内容如下: 192.168.2.1:00-E0-4C-F7-0C-E5 192.168.2.2:00-00-4C-F7-0C-E3 192.168.2.3:00-E0-4C-F7-05-E4 192.168.2.4:00-E0-4C-F6-A8-BB 192.168.2.5:00-E0-4C-F7-05-E5 192.168.2.6:00-E0-4C-F5-E3-A1 192.168.2.7:00-E0-4C-F6-CD-06 192.168.2.8:00-E0-4C-F7-0C-F3 192.168.2.9:00-E0-4C-F5-E2-FD 效果,如文件b.txt中的IP:192.168.2.2: 与文件a.txt中的IP:192.168.2.2: 这一行相比,如发现在后面的MAC地址改变则>>1.txt 请问批处理怎么做呀 [ Last edited by chainliq on 2007-3-10 at 11:14 PM ] |
|
| 第2楼 youxi01 | 发表于 2007-03-10 12:28 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
其它的项目,比如:192.168.2.1,192.168.2.3等不需要检查吗?
|
|
| 第3楼 lxmxn | 发表于 2007-03-10 12:32 |
| 版主 发帖 4,938 积分 11,386 | |
|
[ Last edited by lxmxn on 2007-3-10 at 06:10 PM ] |
|
| 第4楼 youxi01 | 发表于 2007-03-10 12:53 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
也贴一段来玩玩:
|
|
| 第5楼 chainliq | 发表于 2007-03-10 22:34 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
Originally posted by youxi01 at 2007-3-10 12:28: 要呀,要不然,那样就好做喽,``要检查的是几百向MAC呀`` |
|
| 第6楼 chainliq | 发表于 2007-03-10 22:39 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
lxmxn 兄弟的好像运行啦没反应哦`
|
|
| 第7楼 ccwan | 发表于 2007-03-10 22:57 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
| 第8楼 test266 | 发表于 2007-03-10 23:07 |
| 初级用户 发帖 10 积分 22 | |
|
@echo off
rem ip的顺序可以打乱 setlocal ENABLEDELAYEDEXPANSION set t1=!time! set /a num=1 for /f "tokens=1,2 delims=:" %%i in (b.txt) do ( set ip!num!=%%i set mac!num!=%%j set /a num+=1 ) for /f "tokens=1,2 delims=:" %%i in (a.txt) do ( for /L %%a in (1,1,!num!) do ( if "!ip%%a!"=="%%i" ( if not "!mac%%a!"=="%%j" echo !ip%%a!:!mac%%a! vs %%i:%%j ) ) ) echo 比较行数:%num% echo 开始时间:%t1% echo 结束时间:!time! |
|
| 第9楼 chainliq | 发表于 2007-03-10 23:13 |
| 高级用户 发帖 244 积分 635 来自 广西贵港 | |
|
呵呵,高手真多哦,``哎,刚才是我没用好,其实lxmxn兄的是可以用的```谢谢各位哦,其他各位的也不错,哎,惭愧哈,要向你们学习学习`,试过啦`都行`呵呵``
|
|
| 第10楼 test266 | 发表于 2007-03-10 23:35 |
| 初级用户 发帖 10 积分 22 | |
|
4楼的代码,效率实在是太高了,佩服啊!!
|
|
| 第11楼 slore | 发表于 2007-03-11 02:41 |
| 铂金会员 发帖 2,478 积分 5,212 | |
Originally posted by test266 at 2007-3-10 10:35: 汗~#4貌似只检测那一个是不是相等……你改其他的就不管。。。失败的代码……不要提什么效率。 ◎echo off echo XXX.XX.XX.X exit 这个效率呢?汗~ |
|
| 第12楼 youxi01 | 发表于 2007-03-11 03:14 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
上楼的兄弟才好似没看懂代码吧
|
|
| 第13楼 slore | 发表于 2007-03-11 03:34 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
if defined flag (echo 192.168.2.2 之 mac已经改动。) else 192.168.2.2 之mac未改动。
如果192.168.2.3改变了呢?你的代码输出什么? 要么都做要么就不要画蛇添足。。不要加这个直接echo %%i %j就好了。 fc a.txt b.txt命令试过么? |
|
| 第14楼 ccwan | 发表于 2007-03-11 03:48 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
不要争论啦,每个人解决问题的方法不一样,这是好事,可以开阔思路不是吗?
我来一句话解决它吧。 |
|
| 第15楼 youxi01 | 发表于 2007-03-11 04:35 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
呵呵,回来了。
本人原文的意思是先找出所有的已经改动的 mac, 然后再判断 IP 192.168.2.2 的mac是否改动。 原来的想法是这样可能更贴切楼主的意思,可能是我错了。 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |