window bat脚本获取想要的物理网卡的真实IP地址

文章介绍了如何通过Windows管理InstrumentationCommand(WMIC)在命令行中编写BAT脚本来筛选并获取物理网卡的IP地址,通过指定MAC地址过滤掉虚拟网卡,从而得到真实的网络接口信息。
摘要由CSDN通过智能技术生成

问题

电脑存在虚拟网卡以及真实的物理网卡,想使用bat脚本获取真正的物理网卡的IP地址

方案

可以使用wmic 如下命令各个网卡的IP地址,IPEnabled=TRUE,表示连接上网络的网卡

wmic nicconfig where "IPEnabled=TRUE" get IPAddress, MACAddress

会输出类似如下内容

IPAddress                                       MACAddress
{"192.168.3.1", "fe80::d056:77dd:7f50:34a"}     00:50:56:C0:00:08
{"192.168.3.210", "fe80::6528:6a39:aad3:2d6"}   F8:89:3C:26:E7:04
{"192.168.3.15", "fe80::93b:e641:c696:4e1f"}    4C:D5:77:08:C1:D3
{"192.168.111.1", "fe80::8145:4e81:4370:8565"}  00:50:56:C0:00:01

根据输出的内容信息,我们可以增加筛选条件,把电脑的物理网卡的MAC地址加入筛选逻辑,这样的话,就可以去除掉虚拟网卡,类似如下命令,我的有线网卡的mac地址是F8:89:3C:26:E7:04,无线网卡地址是:4C:D5:77:08:C1:D3,因此我可以通过如下命令进行筛选

wmic nicconfig where "IPEnabled=TRUE and MACAddress='F8:89:3C:26:E7:04' or  MACAddress='4C:D5:77:08:C1:D3'" get IPAddress, MACAddress

输出的内容如下,这就把我们的有线网卡以及无线网卡的IP地址筛选出来了

IPAddress                                      MACAddress
{"192.168.3.210", "fe80::6528:6a39:aad3:2d6"}  F8:89:3C:26:E7:04
{"192.168.3.15", "fe80::93b:e641:c696:4e1f"}   4C:D5:77:08:C1:D3

根据上面的逻辑,因此我们可以编写如下脚本进行真实的IP地址获取

@echo off
set str=IPAddress
for /F %%i in ('wmic nicconfig where "IPEnabled=TRUE and MACAddress="F8:89:3C:26:E7:04" or  MACAddress="4C:D5:77:08:C1:D3"" get IPAddress') do (
    if %%i == %str% (
    echo   _____   _____   _____   _   _____   _   _   __   _   _____  
    echo  /  ___^| ^| ____^| /  _  \ ^| ^| ^|  ___^| ^| ^| ^| ^| ^|  \ ^| ^| /  ___^| 
    echo  ^| ^|     ^| ^|__   ^| ^| ^| ^| ^| ^| ^| ^|__   ^| ^| ^| ^| ^|   \^| ^| ^| ^|     
    echo  ^| ^|     ^|  __^|  ^| ^| ^| ^| ^| ^| ^|  __^|  ^| ^| ^| ^| ^| ^|\   ^| ^| ^|  _  
    echo  ^| ^|___  ^| ^|___  ^| ^|_^| ^| ^| ^| ^| ^|     ^| ^|_^| ^| ^| ^| \  ^| ^| ^|_^| ^| 
    echo  \_____^| ^|_____^| \_____/ ^|_^| ^|_^|     \_____/ ^|_^|  \_^| \_____/ 
    echo. 		
    ) else (
        set commitid=%%i
        goto out
    )
)

:out
echo ip=%commitid:~2,-2%
echo. 		

注意:以上脚本只是筛选了第一个网卡,如果需要两个网卡地址都获取的话,自行按照筛选逻辑进行脚本编写即可

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值