You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

适配Batch脚本:通过pnputil按驱动版本定位并删除OEM驱动包

批处理脚本修改方案:匹配指定驱动版本删除对应OEM驱动包

原脚本通过pnputil -e获取系统驱动列表,匹配“HID Global”后取上一行的OEM驱动文件名执行删除操作。现修改为匹配驱动版本12/13/2016 1.0.0.2,取该匹配行的上数第三行中的OEM文件名,再执行删除命令。

修改后的脚本代码

@echo off
setlocal enabledelayedexpansion

set "target_version=12/13/2016 1.0.0.2"
set "line1="
set "line2="
set "line3="

for /f "delims=" %%a in ('pnputil -e') do (
    set "line1=!line2!"
    set "line2=!line3!"
    set "line3=%%a"
    
    echo !line3! | findstr /c:"%target_version%" >nul
    if not errorlevel 1 (
        for /f "tokens=2 delims=:" %%b in ("!line1!") do (
            set "oem_file=%%b"
            for /f "tokens=* delims= " %%c in ("!oem_file!") do set "oem_file=%%c"
            echo 待删除驱动包:!oem_file!
            pnputil -f -d "!oem_file!"
        )
    )
)

endlocal

核心逻辑说明

  • 行缓存机制:用line1、line2、line3三个变量循环存储最近三行输出,每次迭代更新缓存,确保匹配到目标版本时,line1恰好是当前行的上数第三行(即OEM文件名所在行)。
  • 精确匹配:使用findstr /c:"%target_version%"精准定位包含目标版本的行,避免部分匹配导致误删。
  • 提取OEM文件名:从line1中通过for /f分割字符串,提取冒号后的OEM文件名,并去除前后空格,确保命令执行准确。
  • 延迟扩展:开启enabledelayedexpansion保证循环内变量的实时更新与读取,避免变量值滞后。

内容的提问来源于stack exchange,提问作者imyashy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:07:50