中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 14:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何使一个变量的的值等于MAC地址 查看 1,955 回复 15
楼 主 如何使一个变量的的值等于MAC地址 发表于 2008-05-13 13:41 ·  中国 上海 电信
初级用户
★★
积分 160
发帖 81
注册 2006-07-27 17:52
20年会员
UID 59377
性别 男
状态 离线
FOR语句老是用不好
如何使一个变量的的值等于本机MAC地址
比如本机的网卡地址是00-0d-5e-88-66-0a
则变量mac=000d5e88660a
请各位老大帮忙 谢谢
2 发表于 2008-05-13 13:52 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 484
发帖 250
注册 2007-06-05 23:33
19年会员
UID 90372
性别 男
状态 离线

for /f "tokens=2 delims=:" %i in ('ipconfig /all^|find "Physical"') do @echo %i

单网卡的话就这样了,多网卡需要多加处理,自己多想想吧。 这个里面为简短多了个空格,再去掉就行了,带个空格多数情况下也可直接使用,所以也无所谓的

btw:搜索论坛,同样的问题应该早就有过了
3 发表于 2008-05-13 19:35 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
for /f "tokens=1" %%a in ('getmac ^| findstr "^00"') do set mac=%%a
set mac=%mac:-=%
echo %mac%
4 再改通用点: 发表于 2008-05-13 21:41 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
楼上的如碰到mac中无00项就不行了,如01-0e-0c-0e-4f-5d,修改如下:

@echo off
for /f "skip=3 delims=\" %%i in ('getmac') do set mac=%%i&goto set
:set
set mac=%mac:-=%
echo %mac%
pause>nul

另请关注http://www.cn-dos.net/forum/viewthread.php?tid=40337&fpage=1

[ Last edited by zw19750516 on 2008-5-13 at 11:47 PM ]
批处理之家新域名:www.bathome.net
5 发表于 2008-05-14 09:44 ·  中国 上海 电信
初级用户
★★
积分 160
发帖 81
注册 2006-07-27 17:52
20年会员
UID 59377
性别 男
状态 离线
回4楼
老大,
Local Area Conn Broadcom NetXtr 00-0B-5D-AD-01-C2 Media disconnected
Wireless Networ Intel(R) PRO/Wi 00-13-02-D1-57-46 Media disconnected
Local Area Conn DM9601 USB To F 00-60-6E-96-00-39 \Device\Tcpip_{2DE868D3-41F0-478E-9D01-F2059A91A580},
\Device\NwlnkIpx


是这样的格式,所以实际上mac值是000B5DAD01C2 Media disconnected 多了“ Media disconnected ”
6 发表于 2008-05-14 09:46 ·  中国 上海 电信
初级用户
★★
积分 160
发帖 81
注册 2006-07-27 17:52
20年会员
UID 59377
性别 男
状态 离线
我这样写
@ECHO off
:pmac
for /f "tokens=1,2,3,4,5,6 delims=-" %%a in ('ipconfig /all^|find "Physical Address. . . . . . . . . :"') do (
set mac1=%%a
set mac2=%%b
set mac3=%%c
set mac4=%%d
set mac5=%%e
set mac6=%%f
)
set mac=%mac1%%mac2%%mac3%%mac4%%mac5%%mac6%
set macfile=%mac3%%mac4%%mac5%%mac6%
if "%mac%"=="" goto pmac
if "%macfile%"=="" goto pmac
ECHO %MAC1%
ECHO %MAC%
PAUSE

也不行前面又多出了“Physical Address. . . . . . . . . :”
7 那就这样了: 发表于 2008-05-14 09:58 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线

@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr "Physical"') do set mac=%%i
set mac=%mac:-=%
echo %mac:~1%
pause>nul
批处理之家新域名:www.bathome.net
8 发表于 2008-05-14 10:37 ·  中国 上海 电信
初级用户
★★
积分 160
发帖 81
注册 2006-07-27 17:52
20年会员
UID 59377
性别 男
状态 离线
谢谢zw19750516
这个很完美

又学了点关于变量的扩展

再次对各位的帮助表示感谢
9 发表于 2008-05-14 10:51 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
不用谢,但请注意我的签名!!!
批处理之家新域名:www.bathome.net
10 发表于 2008-05-14 12:41 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-13 09:41 PM:
楼上的如碰到mac中无00项就不行了,如01-0e-0c-0e-4f-5d,修改如下:

@echo off
for /f "skip=3 delims=\" %%i in ('getmac') do set mac=%%i&goto set
:set
set ...

我听说所有的MAC地址都是00开头的,zw19750516 兄见过01开头的吗?能否截图让我也见识下?
11 发表于 2008-05-14 12:51 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by HAT at 2008-5-14 12:41:

我听说所有的MAC地址都是00开头的,zw19750516 兄见过01开头的吗?能否截图让我也见识下?

以下是我局域网中的部分mac:


[ Last edited by zw19750516 on 2008-5-14 at 01:00 PM ]
批处理之家新域名:www.bathome.net
12 发表于 2008-05-14 12:53 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
晕。怎么又发了个
批处理之家新域名:www.bathome.net
13 发表于 2008-05-14 13:15 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
网上搜索了一下,没找到权威的解答。

按字节流来说,第一个字节(从1计)的最低bit为0即可,换句话说,第一个字节是偶数即可。否则是组播/广播地址。
总之,你在自己调整MAC的时候,第一个字节为偶数就可以了,这是唯一的要求。
14 发表于 2008-05-14 13:44 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
我晕~~为什么不保存成JPEG……
打开慢死了……加载太……网络好差劲……不看图了……只是说下,下次建议保存为JPG
15 发表于 2008-05-14 15:43 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by slore at 2008-5-14 13:44:
我晕~~为什么不保存成JPEG……
打开慢死了……加载太……网络好差劲……不看图了……只是说下,下次建议保存为JPG

不好意思,一时没注意到了
批处理之家新域名:www.bathome.net
论坛跳转: