中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 14:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 获取MAC地址后.获取BAT相对值=求救 查看 1,227 回复 9
楼 主 获取MAC地址后.获取BAT相对值=求救 发表于 2006-12-07 20:10 ·  中国 广东 深圳 电信
初级用户
积分 45
发帖 15
注册 2006-06-18 05:46
20年会员
UID 57191
状态 离线
for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical"') do find "%%b"<%0

::MAC 对应值
00-16-76-32-A8-AC 11111111
00-99-85-26-12-34 22222222
00-10-16-54-98-85 33333333
提取本地计算机MAC地址(假设我本地MAC地址是00-10-16-54-98-85)
我用那BAT却得不出00-10-16-54-98-85 33333333
而只得到了0-16-54-98-85
哪位大哥帮帮忙
我想用左边MAC地址获得右边对应值
2 发表于 2006-12-07 23:27 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  用 for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical"') do echo %%b 可以获得完整的MAC,但是,你所举的例子中,MAC和对应值是如何得来的?请把你的条件描述清楚。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-12-08 06:17 ·  中国 广东 深圳 电信
初级用户
积分 45
发帖 15
注册 2006-06-18 05:46
20年会员
UID 57191
状态 离线
Originally posted by namejm at 2006-12-7 23:27:
  用 for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical"') do echo %%b 可以获得完整的MAC,但是,你所举的例子中,MAC和对应值是如何得 ...


首先谢谢你的回答
for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical"') do find "%%b"<%0
EXIT
::MAC 对应值
00-16-76-32-A8-AC 11111111
00-99-85-26-12-34 22222222
00-10-16-54-98-85 33333333

此MAC 和对应值`都是存于此运行BAT下.MAC地址和对应值都是自己添加到BAT下面的。
我要的是BAT运行时`获取本机MAC地址然后自动搜索自身BAT里面的MAC对应值
接着显示出来

[ Last edited by yszy on 2006-12-8 at 06:19 AM ]
4 发表于 2006-12-08 06:39 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical"') do (
for /f "delims= tokens=1,2" %%i in ('type %0^|find "%%b"') do echo %%i %%j
)

pause
::MAC 对应值
00-16-76-32-A8-AC 11111111
00-14-78-37-40-BE 22222222
00-10-16-54-98-85 33333333
↑这里有个空格,晕,系统把它过滤了,

直接复制可能不管用,加空格就好

[ Last edited by a9319751 on 2006-12-8 at 06:41 AM ]
bat c c++
5 发表于 2006-12-08 06:45 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
19年会员
UID 61449
来自 北京
状态 离线

@echo off&setlocal
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /c:"Physical Address"') do set a=%%a
for /f "tokens=1*" %%x in ('more +4 ^<%0%~x0^|findstr /c:"%a:~1%"') do echo %%y
goto :eof
00-16-76-32-A8-AC 11111111
00-99-85-26-12-34 22222222
00-10-16-54-98-85 33333333


所有的都在一个文件里
我今后在论坛的目标就是做个超级坏人!!!
6 发表于 2006-12-08 06:56 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
for /f " tokens=11* delims= " %%a in ('ipconfig/all^|find "Physical"') do (
for /f "delims= tokens=1,2" %%i in ('type %0^|find "%%b"') do echo %%i %%j
)

pause
::MAC 对应值
00-16-76-32-A8-AC 11111111
00-14-78-37-40-BE 22222222
00-10-16-54-98-85 33333333
bat c c++
7 发表于 2006-12-08 07:02 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
Originally posted by 9527 at 2006-12-8 06:45:

@echo off&setlocal
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /c:"Physical Address"') do set a=%%a
for /f "tokens=1*" %%x in ('more +4 ^&l ...




@echo off&setlocal
for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /c:"Physical Address"') do set a=%%a
for /f "tokens=1*" %%x in ('more +4 ^<%0^|findstr /c:"%a:~1%"') do echo %%x %%y
pause
00-16-76-32-A8-AC 11111111
00-14-78-37-40-BE 22222222
00-10-16-54-98-85 33333333
bat c c++
8 发表于 2006-12-08 11:42 ·  中国 广东 深圳 电信
初级用户
积分 45
发帖 15
注册 2006-06-18 05:46
20年会员
UID 57191
状态 离线
哈很谢谢大家的回答
9 发表于 2006-12-09 05:33 ·  中国 北京 鹏博士BGP
初级用户
积分 78
发帖 34
注册 2006-12-09 05:10
19年会员
UID 73001
性别 男
状态 离线
看得似懂非懂~~呵呵..新手~~谢谢大家爱护~~
我对这个功能很感兴趣,楼主能不能发给我一份,先谢谢了~~
这样我在局域网得到mac地址,就可以知道是谁了....
10 发表于 2006-12-09 17:08 ·  中国 广东 深圳 电信
初级用户
积分 45
发帖 15
注册 2006-06-18 05:46
20年会员
UID 57191
状态 离线
Originally posted by zhanghong1 at 2006-12-9 05:33:
看得似懂非懂~~呵呵..新手~~谢谢大家爱护~~
我对这个功能很感兴趣,楼主能不能发给我一份,先谢谢了~~
这样我在局域网得到mac地址@...


呵呵.可以
乐意与你分享
只是得等我写好
论坛跳转: