标题: 如何使一个变量的的值等于MAC地址
[打印本页]
作者: jia332
时间: 2008-5-13 13:41
标题: 如何使一个变量的的值等于MAC地址
FOR语句老是用不好
如何使一个变量的的值等于本机MAC地址
比如本机的网卡地址是00-0d-5e-88-66-0a
则变量mac=000d5e88660a
请各位老大帮忙 谢谢
作者: pooronce
时间: 2008-5-13 13:52
for /f "tokens=2 delims=:" %i in ('ipconfig /all^|find "Physical"') do @echo %i
单网卡的话就这样了,多网卡需要多加处理,自己多想想吧。 这个里面为简短多了个空格,再去掉就行了,带个空格多数情况下也可直接使用,所以也无所谓的
btw:搜索论坛,同样的问题应该早就有过了
作者: HAT
时间: 2008-5-13 19:35
@echo off
for /f "tokens=1" %%a in ('getmac ^| findstr "^00"') do set mac=%%a
set mac=%mac:-=%
echo %mac%
作者: bat-zw
时间: 2008-5-13 21:41
标题: 再改通用点:
楼上的如碰到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 ]
作者: jia332
时间: 2008-5-14 09:44
回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 ”
作者: jia332
时间: 2008-5-14 09:46
我这样写
@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. . . . . . . . . :”
作者: bat-zw
时间: 2008-5-14 09:58
标题: 那就这样了:
@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
作者: jia332
时间: 2008-5-14 10:37
谢谢zw19750516
这个很完美
又学了点关于变量的扩展
再次对各位的帮助表示感谢
作者: bat-zw
时间: 2008-5-14 10:51
不用谢,但请注意我的签名!!!
作者: HAT
时间: 2008-5-14 12:41
Quote: |
Originally posted by zw19750516 at 2008-5-13 09:41 PM:
楼上的如碰到mac中无00项就不行了,如01-0e-0c-0e-4f-5d,修改如下:
[code]
@echo off
for /f "skip=3 delims=\" %%i in ('getmac') do set mac=%%i&goto set
:set
set ... |
|
我听说所有的MAC地址都是00开头的,zw19750516 兄见过01开头的吗?能否截图让我也见识下?
作者: bat-zw
时间: 2008-5-14 12:51
Quote: |
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 ]
作者: bat-zw
时间: 2008-5-14 12:53
晕。怎么又发了个
作者: HAT
时间: 2008-5-14 13:15
网上搜索了一下,没找到权威的解答。
Quote: |
按字节流来说,第一个字节(从1计)的最低bit为0即可,换句话说,第一个字节是偶数即可。否则是组播/广播地址。
总之,你在自己调整MAC的时候,第一个字节为偶数就可以了,这是唯一的要求。 |
|
作者: slore
时间: 2008-5-14 13:44
我晕~~为什么不保存成JPEG……
打开慢死了……加载太……网络好差劲……不看图了……只是说下,下次建议保存为JPG
作者: bat-zw
时间: 2008-5-14 15:43
Quote: |
Originally posted by slore at 2008-5-14 13:44:
我晕~~为什么不保存成JPEG……
打开慢死了……加载太……网络好差劲……不看图了……只是说下,下次建议保存为JPG |
|
不好意思,一时没注意到了
作者: jia332
时间: 2008-5-14 16:17
没有注意到这个问题
不过我们公司几百K几百K的使用MAC
都是000E开头的