问题

电脑存在虚拟网卡以及真实的物理网卡,想使用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=%%igoto out)
):out
echo ip=%commitid:~2,-2%
echo.       

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

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

  1. C++ 获取本机所有的网卡配置、IP地址和Mac地址

    一台机器上可能不只有一个网卡,但每一个网卡只有一个MAC地址,而每一个网卡可能配置有多个IP地址:如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种:因此,如果要获得本机所有网卡的IP和M ...

  2. C/C++:Windows编程—代码获取本地所有网卡信息(网卡描述,IP地址,子网掩码,MAC地址)

    先看效果 看代码 使用 GetAdaptersInfo 函数获取网卡的所有信息. MSDN函数说明 https://docs.microsoft.com/en-us/windows/desktop/a ...

  3. asp.net如何获取客户端真实IP地址

    目前网上流行的所谓"取真实IP地址"的方法,都有bug,没有考虑到多层透明代理的情况. 多数代码类似: string IpAddress = (HttpContext.Curren ...

  4. 如何用ASP获取真实IP地址_草根编程

    大家都知道,在ASP中可以使用Request.ServerVariables("REMOTE_ADDR")来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代 ...

  5. ASP如何获取客户端真实IP地址

    在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址, 但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 ...

  6. ASP获取真实IP地址

    在 ASP 中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服 ...

  7. bat脚本 获取copy命令结果

    在Windows系统中,可以使用BAT脚本获取COPY命令的结果.可以在BAT脚本中使用以下语句来实现: for /f "tokens=*" %i in ('copy source ...

  8. 老大说,网上这种获取真实IP地址的方法不对,我不信...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:蔡永吉  来源:http://bit.ly/33H8RMm ...

  9. 502 proxy error解决方法_老大说,网上这种获取真实IP地址的方法不对,我不信......

    作者:蔡永吉  来源:http://bit.ly/33H8RMm想必大家对这段代码并不陌生: public String getIpAddr(HttpServletRequest request) { ...

最新文章

  1. python实现字典遍历稳定有序使用collection包OrderedDict
  2. nginx忽略favicon.ico日志
  3. 科大奥锐思考题_科大奥锐光电效应测普朗克常数
  4. UA SIE545 优化理论基础4 对偶理论简介1 松弛问题与Lagrange对偶
  5. 功放音量调节原理_玩汽车音响,功放和喇叭,应该如何做好匹配?
  6. Oracle redo 日志切换时间频率
  7. RocketMQ消费端消息回退(消费重试)机制源码解析
  8. 软碟通UltraISO 9.65.3237 【官方版+ 注册码】
  9. 可靠性测试设备技术含量_可靠性测试中心
  10. (模拟)西天取经放弃了(python类实践)
  11. 调用新浪微博开放平台接口
  12. JAVA发送手机短信,httpclient短信发送接口示例(java)
  13. ORBSLAM2论文翻译
  14. Python实现三维数据(x, y, z)的索引——即通过(x, y)的值索引z的值
  15. Excel合并两列并自动换行
  16. 谱密度,功率谱,能量谱密度
  17. 看了他们的遭遇,我居然不想裸辞了
  18. 44.Isaac教程--姿态估计
  19. go代码windows系统截屏
  20. 测色仪取色器颜色识别器含潘通劳尔色卡匹配色差计详细图文教程

热门文章

  1. 河南科技学院程序设计协会
  2. 刷面具模块手机一直卡在miui
  3. Windows中MPIO配置
  4. STN:不规则文本矫正网络的探索
  5. 2022年危险化学品生产单位主要负责人上岗证题目及在线模拟考试
  6. Android Activity底层启动过程分析
  7. 如何撰写一篇学术论文
  8. 单极感应S极霍尔开关AR1231
  9. matlab中tf函数是什么,[转载]MATLAB中传递函数TF命令的有关介绍
  10. Bash Export命令