[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] BAT脚本怎样获取多个MAC地址方法

请问我要怎么改这个命令才能令输出结果为:网卡名称+MAC地址,网卡数量不确定,但大于等于1。
如:本地连接MAC地址:aa-aa-aa-aa-aa-aa
      无线连接MAC地址:bb-bb-bb-bb-bb-bb
@for /f "tokens=2 delims=:" %%f in ('@ipconfig /all^|findstr "..-..-..-..-..-.."') do @(echo 本机MAC地址为:%%f&pause)

  1. wmic nic get NetConnectionID,MACAddress /value > a.txt
复制代码

TOP

回复 2# DAIC


    虽然可以显示MAC地址出来,但是这个跟IPconfig/all比起来差不多啊,能再优化下么?输入内容行数等于网卡数。

TOP

DAIC 发表于 2015-1-16 15:10
  1. @echo off
  2. wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "NetConnectionID","MacAddress" | find /i /v "MacAddress" >"%tmp%\$"
  3. for /f "tokens=1,2 delims= " %%a in ('type "%tmp%\$"') do (
  4.   echo 网络连接: [%%b]    MAC 地址: [%%a]
  5. )
  6. pause
复制代码
结果:
  1. 网络连接: [lan]    MAC 地址: [08:00:27:6E:08:9B]
  2. 网络连接: [无线网络连接]    MAC 地址: [00:87:C2:30:76:E5]
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

结果:
yu2n 发表于 2015-1-16 21:22


win7 64系统下,单网卡测试如下结果?

TOP

回复 5# ygqiang
我在XP双网卡下完成测试。并没有在 Win7 x64 测试。

何不把结果发上来?
  1. wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "NetConnectionID","MacAddress"
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复  ygqiang
我在XP双网卡下完成测试。并没有在 Win7 x64 测试。

何不把结果发上来?
yu2n 发表于 2015-1-17 07:31



    上面就是win7 64系统下,单网卡的测试结果。

你这个代码,测试如下:

TOP

回复 7# ygqiang

以下代码通过 win7 x64 测试:
  1. @echo off
  2. wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "NetConnectionID","MacAddress" | findstr "[^]" | findstr /i /v "^Mac.." >"%tmp%\$"
  3. for /f "tokens=1,2 delims= " %%a in ('type "%tmp%\$"') do (
  4.   echo 网络连接: [%%b]    MAC 地址: [%%a]
  5. )
  6. pause
复制代码
1

评分人数

    • 树怪熊: 感谢给帖子标题标注[已解决]字样技术 + 1
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复  ygqiang

以下代码通过 win7 x64 测试:
yu2n 发表于 2015-1-17 13:07



    win7 64系统下,单网卡的测试结果正确。

TOP

回复 8# yu2n


    GOOD,测试了一下,WIN7 64位和XP 32位都能正常使用,Thank you

TOP

回复  yu2n


    GOOD,测试了一下,WIN7 64位和XP 32位都能正常使用,Thank you
树怪熊 发表于 2015-1-20 14:09


BAT获取多个MAC地址

这代码,有啥用处呢?

TOP

回复 11# ygqiang


   发给现场维护人员查看本机或用户MAC地址方便我们做运营商维护,话说,查看IP(IP、掩码、网关、DNS服务器、DHCP服务器)的,你会吗?

TOP

回复  ygqiang


   发给现场维护人员查看本机或用户MAC地址方便我们做运营商维护,话说,查看IP(IP、 ...
树怪熊 发表于 2015-1-20 16:00
  1. @ECHO OFF&Setlocal EnableDelayedExpansion
  2. set _Name=计算机名----&set _Domain=工作组------&set _IPAddress=IP地址------
  3. set _IPSubnet=子网掩码----&set _DefaultIPGateway=网关--------&set _DNSServerSearchOrder=DNS---------
  4. FOR /F "tokens=*" %%A IN ('WMIC Path Win32_ComputerSystem Get Domain^,Name /Value 2^>Nul') DO (
  5.     FOR /F "tokens=*" %%i in ("%%A") do set %%i
  6. )
  7. FOR /F "tokens=*" %%A IN ('WMIC NICConfig WHERE "IPEnabled=TRUE" GET DefaultIPGateway^,Description^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value 2^>Nul') DO (
  8.    FOR /F "tokens=*" %%i in ("%%A") do set %%i
  9. )
  10. for %%i in (Name Domain IPAddress IPSubnet DefaultIPGateway DNSServerSearchOrder) do (
  11.     set %%i=!%%i:{=!
  12.     set %%i=!%%i:}=!
  13.     set %%i=!%%i:"=!
  14.     echo !_%%i!: !%%i:,=  !  
  15. )
  16. ping 127.0.0.1 -n 5 >nul 2>nul
  17. ECHO.                            Press any key to exit...
  18. PAUSE >Nul
  19. cls
  20. exit
复制代码

TOP

回复 13# ygqiang

    我使用的是WIN 7 64位的,使用本地连接和无线连接,代码只能显示无线连接的IP,而且显示IPV6的ip,如果能显示成:
    本地连接:
    IP地址:*.*.*.*
    子网掩码:*.*.*.*
    默认网关:*.*.*.*
    DNS服务器:*.*.*.*
    DHCP服务器:*.*.*.*(非DHCP自动获取的,则不显示)
   
   无线连接:
   IP地址:*.*.*.*
    子网掩码:*.*.*.*
    默认网关:*.*.*.*
    DNS服务器:*.*.*.*
    DHCP服务器:*.*.*.*(非DHCP自动获取的,则不显示)
  

那就完美了。

TOP

返回列表