如何通过批处理获取未识别网络适配器名称及区分正常与未识别适配器
如何用批处理获取未识别的网络适配器名称
嘿,我刚好有几个靠谱的方法能帮你用批处理揪出那些未识别的网络适配器,一起来看看吧!
方法1:使用系统自带WMIC命令(无需额外工具)
Windows自带的WMIC命令可以直接查询网络适配器的硬件状态,未识别的适配器通常在PNPDeviceID中包含UNKNOWN标识,这是最直接的判断依据。
下面是现成的批处理脚本:
@echo off setlocal enabledelayedexpansion echo 未识别的网络适配器列表: :: 筛选PNPDeviceID包含UNKNOWN的网卡,提取名称 wmic nic where "PNPDeviceID like '%UNKNOWN%'" get Name /value | findstr "Name=" | for /f "tokens=2 delims==" %%a in ('more') do ( echo - %%a ) endlocal pause
小优化:排除禁用的适配器
如果想只显示启用状态下的未识别适配器,可以修改WMIC的筛选条件,加上NetEnabled='TRUE':
wmic nic where "PNPDeviceID like '%UNKNOWN%' and NetEnabled='TRUE'" get Name /value
方法2:借助DevCon工具(更精准但需额外下载)
如果你能获取到微软的DevCon工具(属于Windows驱动开发工具包的一部分),可以用它更精准地定位设备管理器里标记为“未知设备”的网卡:
@echo off echo 未识别的网络适配器列表: :: 查找所有未知设备并提取名称 devcon find * | findstr "Unknown device" | for /f "tokens=3* delims=:" %%a in ('more') do ( echo - %%b ) pause
注意:DevCon不是系统默认自带工具,需要从微软官方渠道下载对应版本的WDK后提取。
额外验证技巧
如果你不确定筛选条件是否准确,可以先运行以下命令查看所有网卡的详细参数,再调整筛选规则:
wmic nic get Name, PNPDeviceID, Status, NetEnabled /format:table
这个命令会列出所有网卡的名称、硬件ID、状态和启用状态,方便你找到最适合的筛选逻辑。
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

