|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『楼 主』:
多网卡下如何实现读出板载网卡MAC
多网卡(一个板载网卡,多个外接网卡)下如何实现读出板载网卡MAC(并且每个网卡有设IP号,网卡蕊片不一样!板载网卡上网!其他网卡不接网线)(WINDOWS98/2000/XP下测试用)
我写了段代码,但同时读出来三个.你看一下能不能实理那个效果!
@echo off
setlocal Enabledelayedexpansion
ipconfig /all >ipconfig.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=1 tokens=12" %%a in (phyaddr.txt) do (
set var=%%a
if not exist \\192.168.94.27\t\testdate\winpass.log goto fail
find /i /c "!var!" \\192.168.94.27\t\testdate\winpass.log
if not errorlevel 1 goto mac
echo !var!>>\\192.168.94.27\t\testdate\winpass.log
)
endlocal
end
:mac
cls
echo. The mas is used!
echo. The mas is used!
echo. The mas is used!
echo. The mas is used!
echo. The mas is used!
pause
|
|
2008-5-22 11:23 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
2 楼』:
请测试后反馈:
如主板网卡默认是第一网卡:
@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /c:"Physical Address"') do set mac=%%i&goto echo
:echo
set mac=%mac:~1%
echo %mac%
pause>nul [ Last edited by zw19750516 on 2008-5-22 at 12:36 PM ]
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 11:35 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
3 楼』:
谢谢
谢谢!!我们这里是做测试的,其实我的最终功能是要判断服务器上的日志文件里面有没有被测试板的板载MAC数据来判断出它是不是被测试过的主板.呵呵!有劳了,谢谢!
|
|
2008-5-22 11:39 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
4 楼』:
如板载网卡不是默认第一网卡就麻烦点:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('ipconfig /all') do (
set /a n+=1
set _!n!=%%i
echo %%i|findstr /c:"IP Address">nul&&set m=!n!
)
set /a m-=2
set str=!_%m%!
set mac=%str:~-18%
echo %mac%
pause>nul ----------------------------------------------------------------------------------------------------------
&&我还是解释下这段代码吧:
首先是将ipconfig /all所有的行都赋于数值变量,即用for读取一行就将n值加
1(初始n值为0),然后把这一行所有的字符赋值给_!n!;
然后再在所有的数值变量也就是ipconfig /all所有行中逐行查找IP Address字
符串,如找到则将这个行号赋值给m;
在ipconfig /all中可以看到有mac地址的行处于有IP Address字符行上面二行,
所以把m值减2;
最后截取_%m%(m已减2)后面的18个字符即为板载网卡mac。
----------------------------------------------------------------------------------------------------------
还是用if代替findstr来提高效率:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('ipconfig /all') do (
set str=%%i&set /a n+=1
set _!n!=%%i
if "!str:~8,10!"=="IP Address" set m=!n!
)
set /a m-=2
set str=!_%m%!
set mac=%str:~-18%
echo %mac%
pause>nul [ Last edited by zw19750516 on 2008-5-22 at 11:20 PM ]
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 12:55 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
5 楼』:
我调不出效果呀!
我调不出效果呀! "||"这个判断在WIN2000下好像用不了!请回复!谢谢!
|
|
2008-5-22 13:42 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
6 楼』:
把4楼的代码中echo off删除,再运行一边,把运行结果贴出来看看。
|

 |
|
2008-5-22 14:02 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
7 楼』:
这是显示结果!
E:\>set /a m-=2
E:\>set str=!_36!
E:\>set mac=. . . . . . : Yes
E:\>echo . . . . . . : Yes 1>>mac.log
E:\>pause1>nul
|
|
2008-5-22 14:11 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
8 楼』:
晕,请贴出你的ipconfig /all,我这里没有WIN2000
[ Last edited by zw19750516 on 2008-5-22 at 03:13 PM ]
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 15:11 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
9 楼』:
这个是我的机子上的,测试和这差不多,就是一个网卡有IP!
Windows IP Configuration
Host Name . . . . . . . . . . . . : gc0427
Primary Dns Suffix . . . . . . . : evoc.local
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : evoc.local
Ethernet adapter VMware Network Adapter VMnet8:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.230.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter VMware Network Adapter VMnet1:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
Physical Address. . . . . . . . . : 00-50-56-C0-00-01
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.229.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter 本地连接 7:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Marvell Yukon 88E8040 PCI-E Fast Ethernet Controller
Physical Address. . . . . . . . . : 00-E0-B0-F2-2F-0C
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.94.50
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.94.1
DHCP Server . . . . . . . . . . . : 172.16.0.198
DNS Servers . . . . . . . . . . . : 172.16.0.198
202.96.174.66
Primary WINS Server . . . . . . . : 172.16.0.198
Lease Obtained. . . . . . . . . . : 2008年5月20日 16:29:43
Lease Expires . . . . . . . . . . : 2008年5月28日 16:29:43
|
|
2008-5-22 15:16 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
10 楼』:
如下是本机板载网卡MAC
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Marvell Yukon 88E8040 PCI-E Fast Ethernet Controller
Physical Address. . . . . . . . . : 00-E0-B0-F2-2F-0C
|
|
2008-5-22 15:18 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
11 楼』:
zw19750516注意一下,
我刚刚到测试机器上看了一下,那里除了板载有IP外,其它的都不会显IP.
|
|
2008-5-22 15:27 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
12 楼』:
172.16.0.198这个值是固定的不
把测试的ipconfig /all 发出来,我这里的确实和你那里的有很大的不同。
[ Last edited by zw19750516 on 2008-5-22 at 03:30 PM ]
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 15:28 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
13 楼』:
如下
大至是这样:
Windows IP Configuration
Host Name . . . . . . . . . . . . : gc0427
Primary Dns Suffix . . . . . . . : evoc.local
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : evoc.local
Ethernet adapter VMware Network Adapter VMnet8:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . :
Subnet Mask . . . . . . . . . . . :
Default Gateway . . . . . . . . . :
Ethernet adapter VMware Network Adapter VMnet1:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
Physical Address. . . . . . . . . : 00-50-56-C0-00-01
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . :
Subnet Mask . . . . . . . . . . . :
Default Gateway . . . . . . . . . :
Ethernet adapter 本地连接 7:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Marvell Yukon 88E8040 PCI-E Fast Ethernet Controller
Physical Address. . . . . . . . . : 00-E0-B0-F2-2F-0C
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.94.50
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.94.1
DHCP Server . . . . . . . . . . . : 172.16.0.198
DNS Servers . . . . . . . . . . . : 172.16.0.198
202.96.174.66
Primary WINS Server . . . . . . . : 172.16.0.198
Lease Obtained. . . . . . . . . . : 2008年5月20日 16:29:43
Lease Expires . . . . . . . . . . : 2008年5月28日 16:29:43
|
|
2008-5-22 15:29 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
|
2008-5-22 15:32 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
15 楼』:
测试机器那里没有DHCP和DNS
测试机器那里没有DHCP和DNS. SORRY!我是在我的办公电脑上导出的! 大至如下
Ethernet adapter 本地连接 7:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Marvell Yukon 88E8040 PCI-E Fast Ethernet Controller
Physical Address. . . . . . . . . : 00-E0-B0-F2-2F-0C
IP Address. . . . . . . . . . . . : 192.168.94.50
Subnet Mask . . . . . . . . . . . : 255.255.255.0
|
|
2008-5-22 15:41 |
|