|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
16 楼』:
OK了谢谢,谢谢谢谢!!
但我不太明白,我再看一下!!
|
|
2008-5-22 15:43 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
17 楼』:
如192.168.94.1这个值是固定的:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('ipconfig /all') do (
set /a n+=1
set _!n!=%%i
)
for /l %%i in (1,1,%n%) do echo !_%%i!|findstr /c:"192.168.94.1">nul&&set m=%%i
set /a m-=5
set str=!_%m%!
set mac=%str:~-18%
echo %mac%
pause>nul
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 15:44 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
18 楼』:
2000下也测试OK太谢谢你了zw19750516
不知98会不会有问题!!!
|
|
2008-5-22 15:58 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
19 楼』:
可是我一直很担心,因为我到现在还不知道,你测试环境下的ipconfig /all是怎么样的。
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 16:03 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
20 楼』:
你等一下,我到生产部去一下,去COPY一个来!!!
|
|
2008-5-22 16:05 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
21 楼』:
这个是生产部上一片测试主板的IPCONFIG
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . . : ok25
Primary DNS Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Broadcast
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接 4:
Media State . . . . . . . . . . . : Cable Disconnected
Description . . . . . . . . . . . : Realtek RTL8139(A) PCI Fast Ethernet Adapter #3
Physical Address. . . . . . . . . : 00-1D-0F-17-3A-56
Ethernet adapter 本地连接 3:
Media State . . . . . . . . . . . : Cable Disconnected
Description . . . . . . . . . . . : Realtek RTL8139(A) PCI Fast Ethernet Adapter #2
Physical Address. . . . . . . . . : 00-19-E0-2C-74-B2
Ethernet adapter 本地连接 2:
Media State . . . . . . . . . . . : Cable Disconnected
Description . . . . . . . . . . . : Realtek RTL8139(A) PCI Fast Ethernet Adapter
Physical Address. . . . . . . . . : 00-1D-0F-17-5A-17
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connection
Physical Address. . . . . . . . . : 00-90-27-11-26-3B
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.188
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . :
|
|
2008-5-22 16:15 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
|
2008-5-22 16:25 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
23 楼』:
是的,,呵呵,我试了,OK!
是的,,呵呵,我试了,OK!我再分析一下,感觉可能会有问题!!
|
|
2008-5-22 16:27 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
|
2008-5-22 16:30 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
25 楼』:
for /l %%i in (1,1,%n%) 这样子是不是不好控制判断的次数了呀?zw19750516
?
|
|
2008-5-22 16:40 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
26 楼』:
Quote: | Originally posted by yinjie1755 at 2008-5-22 16:27:
是的,,呵呵,我试了,OK!我再分析一下,感觉可能会有问题!! |
|
@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。
[ Last edited by zw19750516 on 2008-5-22 at 05:06 PM ]
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 16:43 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
27 楼』:
那次数怎么控制,是不是有点耗时间!
|
|
2008-5-22 16:52 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
28 楼』:
Quote: | Originally posted by yinjie1755 at 2008-5-22 16:52:
那次数怎么控制,是不是有点耗时间! |
|
我不明白要控制什么次数啊?耗时是有点。
|

批处理之家新域名:www.bathome.net |
|
2008-5-22 16:57 |
|
|
yinjie1755
初级用户
 
积分 76
发帖 32
注册 2008-5-14
状态 离线
|
『第
29 楼』:
就这样吧.真的很谢谢你了,我没有想到用这种办法,强人!谢谢了!我两天的问题解觉了!呵呵!我加了点东西,这样就可以防往服务器上记录所有主板的信息了,谢谢!测试PASS的板就不传了!(生产那边是要讲究效率的,呵呵!)
@echo off&setlocal enabledelayedexpansion
for /f " delims=" %%i in ('ipconfig /all') do (
set /a n+=1
set _!n!=%%i
)
for /l %%i in (1,1,%n%) do echo !_%%i!|findstr /c:"IP Address">nul&&set m=%%i
set /a m-=3
set str=!_%m%!
set mac=%str:~-18%
find /i /c "!mac!" \\192.168.94.27\t\testdate\winpass.log
if not errorlevel 1 goto mac
echo !mac!>>\\192.168.94.27\t\testdate\winpass.log
echo %mac%>>mac.log
pause
:mac
echo the mac is used!
echo the mac is used!
echo the mac is used!
echo the mac is used!
pause
|
|
2008-5-22 17:09 |
|
|
bat-zw
金牌会员
      永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
|
2008-5-22 17:12 |
|