批处理解析devcon.exe

时间:2014-02-18 08:14:56

标签: batch-file

目前我使用pnputil在Windows 7上运行完美的脚本。此脚本正在查找特定的驱动程序,并将其删除。

for /F "tokens=2 delims=:" %%a in ('%windir%\Sysnative\pnputil -e') do for /F "tokens=*" %%b in ("%%a") do (
   if "%%b" equ "FTDI" (
      echo Removing..... !line1prior!
      %windir%\Sysnative\pnputil -f -d !line1prior!
   ) else (
      set "line1prior=%%b"
   )
)

现在我想添加对Win XP的支持,因此DevCon工作得很完美。但我仍然有问题解析devcon.exe的输出...输出是不同的。

对于PnPutul,每一行用“”分隔,“* devcon.exe dp_enum *”看起来不同...... 有人可以帮助我吗?

我在这里使用了devcon.exe:http://www.cammckenzie.com/blog/index.php/2012/06/25/download-devcon-for-windows-7/

1 个答案:

答案 0 :(得分:0)

试试这个:

@echo off
setlocal enabledelayedexpansion

for /f "tokens=1 delims=[]:" %%a in ('devcon dp_enum^|Find /n "FTDI"') do (
  set /a "line1prior=%%a-2"
  for /f "tokens=1 delims=*" %%b in ('devcon dp_enum^|more +!line1prior!') do (
    echo devcon -f dp_delete %%b & goto :out
  )
)
:out

如果输出看起来正确执行实际删除,则删除回显。