中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 多网卡如何通过MAC获取本地连接的名称,在线等待....
作者:
标题: 多网卡如何通过MAC获取本地连接的名称,在线等待.... 上一主题 | 下一主题
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『楼 主』:  多网卡如何通过MAC获取本地连接的名称,在线等待....

最近在写一个管理方面的批处理,遇到一个急手的问题,请高手们为我解决下这个难题,我目前假设电脑有多张网卡,使用IPCONFIG /ALL获取的参数如下
Windows IP Configuration

        Host Name . . . . . . . . . . . . : IBM_T60_HGX
        Primary Dns Suffix  . . . . . . . :
        Node Type . . . . . . . . . . . . : Unknown
        IP Routing Enabled. . . . . . . . : Yes
        WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 无线网络连接:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : Intel(R) PRO/Wireless 3945ABG Network Connection
        Physical Address. . . . . . . . . : 00-13-02-A3-F9-18

Ethernet adapter 本地连接:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : Intel(R) PRO/1000 PL Network Connection
        Physical Address. . . . . . . . . : 02-80-41-59-C7-2C

Ethernet adapter 本地连接 2:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : VPN Virtual Network Adapter
        Physical Address. . . . . . . . . : 00-00-00-14-35-22
现在的问题是我知道我的MAC是00-00-00-14-35-22,如何查出Ethernet adapter的值并赋给变量ELOC?

  Quote:
Originally posted by tireless at 2009-7-31 01:37:
[code]@echo off
for /f "eol=M tokens=1,2 delims=:" %%a in ('IPCONFIG /ALL') do (
  if "%%b"=="" (
    set var=%%a
  ) else if "%%b"==" 00-00-00-14-3 ...

谢谢兄的回复。不知道兄测试没有,结果显示的是DNS。兄弟还是没有明白我的意思,看来是我的没有表达清楚。也就是说在存在多个物理网卡的情况下如果知道MAC地址,那么如何查出该MAC的地址对应的本地连接名称,为什么要这样做,是因为我在服务器上放了一个MAC地址表,客户端根据MAC自动修改IP地址等,如果是单网卡还好办,如果是多网卡,那么要修改IP等地址必须先确定对应的是哪个本地连接。

[ Last edited by HUNRYBECKY on 2009-7-31 at 03:44 ]

2009-7-31 00:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 2 楼』:  


@echo off
for /f "eol=M tokens=1,2 delims=:" %%a in ('IPCONFIG /ALL') do (
  if "%%b"=="" (
    set var=%%a
  ) else if "%%b"==" 00-00-00-14-35-22" goto out
)

:out
echo %var:*r =%
pause


2009-7-31 01:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by tireless at 2009-7-31 01:37:
[code]@echo off
for /f "eol=M tokens=1,2 delims=:" %%a in ('IPCONFIG /ALL') do (
  if "%%b"=="" (
    set var=%%a
  ) else if "%%b"==" 00-00-00-14-3 ...

谢谢兄的回复。不知道兄测试没有,结果显示的是DNS。兄弟还是没有明白我的意思,看来是我的没有表达清楚。我的意思是在存在多个物理网卡的情况下如果知道MAC地址,那么如何查出该MAC的地址对应的本地连接名称,为什么要这样做,是因为我在服务器上放了一个MAC地址表,客户端根据MAC自动修改IP地址等,如果是单网卡还好办,如果是多网卡,那么要修改IP等地址必须先确定对应的是哪个本地连接。

[ Last edited by HUNRYBECKY on 2009-7-31 at 03:43 ]

2009-7-31 03:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 4 楼』:  

执行 IPCONFIG /ALL,是输出了以下信息吗?

  Quote:
Windows IP Configuration

        Host Name . . . . . . . . . . . . : IBM_T60_HGX
        Primary Dns Suffix  . . . . . . . :
        Node Type . . . . . . . . . . . . : Unknown
        IP Routing Enabled. . . . . . . . : Yes
        WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 无线网络连接:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : Intel(R) PRO/Wireless 3945ABG Network Connection
        Physical Address. . . . . . . . . : 00-13-02-A3-F9-18

Ethernet adapter 本地连接:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : Intel(R) PRO/1000 PL Network Connection
        Physical Address. . . . . . . . . : 02-80-41-59-C7-2C

Ethernet adapter 本地连接 2:

        Media State . . . . . . . . . . . : Media disconnected
        Description . . . . . . . . . . . : VPN Virtual Network Adapter
        Physical Address. . . . . . . . . : 00-00-00-14-35-22



2009-7-31 04:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by tireless at 2009-7-31 04:15:
执行 IPCONFIG /ALL,是输出了以下信息吗?

这个是别人的IP信息,我的是如下:
[code]


Windows IP Configuration



        Host Name . . . . . . . . . . . . : CAD4

        Primary Dns Suffix  . . . . . . . :

        Node Type . . . . . . . . . . . . : Unknown

        IP Routing Enabled. . . . . . . . : No

        WINS Proxy Enabled. . . . . . . . : No



Ethernet adapter 本地连接:



        Connection-specific DNS Suffix  . :

        Description . . . . . . . . . . . : Intel(R) 82562V-2 10/100 Network Connection

        Physical Address. . . . . . . . . : 00-1D-09-76-61-9B

        Dhcp Enabled. . . . . . . . . . . : No

        IP Address. . . . . . . . . . . . : 192.168.1.188

        Subnet Mask . . . . . . . . . . . : 255.255.255.0

        Default Gateway . . . . . . . . . : 192.168.1.3

        DNS Servers . . . . . . . . . . . : 202.96.128.86

                                            202.96.128.166



PPP adapter CC VPN Connection:



        Connection-specific DNS Suffix  . :

        Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface

        Physical Address. . . . . . . . . : 00-53-45-00-00-00

        Dhcp Enabled. . . . . . . . . . . : No

        IP Address. . . . . . . . . . . . : 192.168.110.15

        Subnet Mask . . . . . . . . . . . : 255.255.255.255

        Default Gateway . . . . . . . . . : 192.168.110.15

        DNS Servers . . . . . . . . . . . : 202.96.128.86

                                            202.96.128.166



[code]

2009-7-31 04:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 6 楼』:  re 5 楼

你的 IPCONFIG /ALL 里并没有 00-00-00-14-35-22 啊

2009-7-31 04:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 7 楼』:  

具体问题是这样的,我在服务器里放里一个MAC.INI文本,内容是保存了电脑的配置信息,依次为MAC,电脑名称,电脑描述,工作组,IP地址,网关,DNS1,DNS2.

00-1D-09-76-61-9B,CAD4,张三,LW-CAD,192.168.1.188,192.168.1.3,192.168.1.200,192.168.1.3
00-1D-09-76-61-18,CAD5,李四,LW-CAD,192.168.1.188,192.168.1.3,192.168.1.200,192.168.1.3


客户端假设的MAC为00-1D-09-76-61-9B,但是我安装了多个网卡,或是安装了其他虚拟网卡,那么如何获取真实网卡00-1D-09-76-61-9B对应的连接名称,以便使用netsh interface ip set address name="本地连接" 来修改IP等,如果不能获取指定MAC的"address name",那么就不能修改成功,可以看出我是要修改张三这个网卡的IP,因为张三的MAC地址00-1D-09-76-61-9B出现在MAC.INI中.下面是我电脑的多块网卡
Windows IP Configuration



        Host Name . . . . . . . . . . . . : CAD4

        Primary Dns Suffix  . . . . . . . :

        Node Type . . . . . . . . . . . . : Unknown

        IP Routing Enabled. . . . . . . . : No

        WINS Proxy Enabled. . . . . . . . : No



Ethernet adapter 本地连接:



        Connection-specific DNS Suffix  . :

        Description . . . . . . . . . . . : Intel(R) 82562V-2 10/100 Network Connection

        Physical Address. . . . . . . . . : 00-1D-09-76-61-9B

        Dhcp Enabled. . . . . . . . . . . : No

        IP Address. . . . . . . . . . . . : 192.168.1.188

        Subnet Mask . . . . . . . . . . . : 255.255.255.0

        Default Gateway . . . . . . . . . : 192.168.1.3

        DNS Servers . . . . . . . . . . . : 202.96.128.86

                                            202.96.128.166



PPP adapter CC VPN Connection:



        Connection-specific DNS Suffix  . :

        Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface

        Physical Address. . . . . . . . . : 00-53-45-00-00-00

        Dhcp Enabled. . . . . . . . . . . : No

        IP Address. . . . . . . . . . . . : 192.168.110.15

        Subnet Mask . . . . . . . . . . . : 255.255.255.255

        Default Gateway . . . . . . . . . : 192.168.110.15

        DNS Servers . . . . . . . . . . . : 202.96.128.86

                                            202.96.128.166

下面是没有完成的代码
@ECHO OFF
set path=%cd%;%cd%\gtools\;%cd%\SPKiller;%path%
SET MACFP=\\192.168.1.201\web\pomfile\MAC.INI
FOR /F "TOKENS=11* DELIMS= " %%I IN ('IPCONFIG /ALL^|FIND /I "Physical"') DO SET MYMAC=%%J
IF EXIST "%MACFP%" (
   FOR /F "USEBACKQ EOL=; TOKENS=1-15 DELIMS=," %%A IN ("%MACFP%") DO (
      IF "%MYMAC%"=="%%A" (
          SET MAC=%%A&SET CNAME=%%B&SET CCMD=%%C&SET WORKGROUP=%%D&SET IP=%%E
      )
  )
)
PAUSE
[ Last edited by HUNRYBECKY on 2009-7-31 at 05:04 ]

2009-7-31 04:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 8 楼』:  

经过一番测试,终于搞定,不知道在其他电脑上测试是否能通过.
@ECHO OFF
set path=%cd%;%cd%\gtools\;%cd%\SPKiller;%path%
SET MACFP=\\192.168.1.201\web\pomfile\MAC.INI
IF EXIST "%MACFP%" (
   FOR /F "TOKENS=1-3 DELIMS=:" %%A IN ('IPCONFIG /ALL^|FINDSTR /N /I "Physical"') DO (
     SET MYMAC=%%C
     TYPE %MACFP%|FINDSTR /IC:"%%C"
     IF "%ERRORLEVEL%"=="0" SET NUM=%%A&&GOTO:MACOUT
   )
:MACOUT
   SET/A NUM-=4
   SET MYMAC=%MYMAC:~1%
   setlocal enabledelayedexpansion
   FOR /F "TOKENS=1,2,3* DELIMS=: " %%A in ('IPCONFIG /ALL') do (
      SET/A N+=1
      IF !N! EQU %NUM% SET ADDNAME=%%C
   )
)
ECHO %MYMAC%
ECHO %ADDNAME%
PAUSE


2009-7-31 06:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: