
Mi objetivo es crear un archivo por lotes para el símbolo del sistema de Windows que verificará todos los controladores de dispositivos que Windows ha descargado de WU o que se han instalado manualmente y luego los eliminará Windows\System32\DriverStore\FileRepository
, todos a la vez.
Hasta donde tengo entendido, el script por lotes debe ejecutar un bucle que verificará continuamente el primero Oem*.inf
usando pnputil.exe -e
, lo colocará en la variable, lo ejecutará pnputil.exe -d variable
y luego comenzará de nuevo hasta que pnputil.exe -e
devuelva un resultado cero, luego salga.
Desafortunadamente, mi supuesto conocimiento se detiene exactamente en este punto, así que les pido ayuda. Por favor.
Respuesta1
Odio decirlo... pero parece ser una mala idea. Solía ser que todo lo que contenía oemXX.inf lo instalaba el usuario y no el sistema operativo. Ahora, con Windows 10... No puse la mayoría de estos controladores en mi sistema.
Sin embargo, pides y recibirás. Es un poco descuidado pero debería funcionar.
@echo off
for /f "delims=" %%v in ('pnputil /e ^| findstr /C:"Published name"') do call :line_process "%%v"
goto :EOF
:line_process
Set InputLine=%~1
Set InputLine=%InputLine:~28%
echo.
echo Oem line found: "%InputLine%", removing this package
echo pnputil /delete-driver %InputLine% /uninstall /force
goto :EOF
este guiónactualmente es inofensivodebido a un echo
frente al pnputil
comando cerca del final. Hasta que echo
se elimine, el script debería ser perfectamente seguro.