标题: [系统相关] BAT脚本怎样获取多个MAC地址方法 [打印本页]
作者: 树怪熊 时间: 2015-1-16 14:03 标题: 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)
作者: DAIC 时间: 2015-1-16 15:10
- wmic nic get NetConnectionID,MACAddress /value > a.txt
复制代码
作者: 树怪熊 时间: 2015-1-16 16:26
回复 2# DAIC
虽然可以显示MAC地址出来,但是这个跟IPconfig/all比起来差不多啊,能再优化下么?输入内容行数等于网卡数。
作者: yu2n 时间: 2015-1-16 21:22
DAIC 发表于 2015-1-16 15:10
- @echo off
- wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "NetConnectionID","MacAddress" | find /i /v "MacAddress" >"%tmp%\$"
- for /f "tokens=1,2 delims= " %%a in ('type "%tmp%\$"') do (
- echo 网络连接: [%%b] MAC 地址: [%%a]
- )
- pause
复制代码
结果:- 网络连接: [lan] MAC 地址: [08:00:27:6E:08:9B]
- 网络连接: [无线网络连接] MAC 地址: [00:87:C2:30:76:E5]
复制代码
作者: ygqiang 时间: 2015-1-17 06:44
结果:
yu2n 发表于 2015-1-16 21:22
win7 64系统下,单网卡测试如下结果?
作者: yu2n 时间: 2015-1-17 07:31
回复 5# ygqiang
我在XP双网卡下完成测试。并没有在 Win7 x64 测试。
何不把结果发上来?- wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "NetConnectionID","MacAddress"
复制代码
作者: ygqiang 时间: 2015-1-17 12:27
回复 ygqiang
我在XP双网卡下完成测试。并没有在 Win7 x64 测试。
何不把结果发上来?
yu2n 发表于 2015-1-17 07:31
上面就是win7 64系统下,单网卡的测试结果。
你这个代码,测试如下:
作者: yu2n 时间: 2015-1-17 13:07
回复 7# ygqiang
以下代码通过 win7 x64 测试:- @echo off
- wmic nic where "NetConnectionId!=NULL and MacAddress!=NULL" get "NetConnectionID","MacAddress" | findstr "[^]" | findstr /i /v "^Mac.." >"%tmp%\$"
- for /f "tokens=1,2 delims= " %%a in ('type "%tmp%\$"') do (
- echo 网络连接: [%%b] MAC 地址: [%%a]
- )
- pause
复制代码
作者: ygqiang 时间: 2015-1-18 07:47
回复 ygqiang
以下代码通过 win7 x64 测试:
yu2n 发表于 2015-1-17 13:07
win7 64系统下,单网卡的测试结果正确。
作者: 树怪熊 时间: 2015-1-20 14:09
回复 8# yu2n
GOOD,测试了一下,WIN7 64位和XP 32位都能正常使用,Thank you
作者: ygqiang 时间: 2015-1-20 15:37
回复 yu2n
GOOD,测试了一下,WIN7 64位和XP 32位都能正常使用,Thank you
树怪熊 发表于 2015-1-20 14:09
BAT获取多个MAC地址
这代码,有啥用处呢?
作者: 树怪熊 时间: 2015-1-20 16:00
回复 11# ygqiang
发给现场维护人员查看本机或用户MAC地址方便我们做运营商维护,话说,查看IP(IP、掩码、网关、DNS服务器、DHCP服务器)的,你会吗?
作者: ygqiang 时间: 2015-1-20 16:59
回复 ygqiang
发给现场维护人员查看本机或用户MAC地址方便我们做运营商维护,话说,查看IP(IP、 ...
树怪熊 发表于 2015-1-20 16:00
- @ECHO OFF&Setlocal EnableDelayedExpansion
- set _Name=计算机名----&set _Domain=工作组------&set _IPAddress=IP地址------
- set _IPSubnet=子网掩码----&set _DefaultIPGateway=网关--------&set _DNSServerSearchOrder=DNS---------
- FOR /F "tokens=*" %%A IN ('WMIC Path Win32_ComputerSystem Get Domain^,Name /Value 2^>Nul') DO (
- FOR /F "tokens=*" %%i in ("%%A") do set %%i
- )
- FOR /F "tokens=*" %%A IN ('WMIC NICConfig WHERE "IPEnabled=TRUE" GET DefaultIPGateway^,Description^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value 2^>Nul') DO (
- FOR /F "tokens=*" %%i in ("%%A") do set %%i
- )
-
- for %%i in (Name Domain IPAddress IPSubnet DefaultIPGateway DNSServerSearchOrder) do (
- set %%i=!%%i:{=!
- set %%i=!%%i:}=!
- set %%i=!%%i:"=!
- echo !_%%i!: !%%i:,= !
- )
-
- ping 127.0.0.1 -n 5 >nul 2>nul
- ECHO. Press any key to exit...
- PAUSE >Nul
- cls
- exit
复制代码
作者: 树怪熊 时间: 2015-1-21 09:50
回复 13# ygqiang
我使用的是WIN 7 64位的,使用本地连接和无线连接,代码只能显示无线连接的IP,而且显示IPV6的ip,如果能显示成:
本地连接:
IP地址:*.*.*.*
子网掩码:*.*.*.*
默认网关:*.*.*.*
DNS服务器:*.*.*.*
DHCP服务器:*.*.*.*(非DHCP自动获取的,则不显示)
无线连接:
IP地址:*.*.*.*
子网掩码:*.*.*.*
默认网关:*.*.*.*
DNS服务器:*.*.*.*
DHCP服务器:*.*.*.*(非DHCP自动获取的,则不显示)
那就完美了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |