
Моя цель — создать пакетный файл для командной строки Windows, который будет проверять наличие всех драйверов устройств, загруженных Windows из WU и/или установленных вручную, а затем удалять их Windows\System32\DriverStore\FileRepository
все одновременно.
Насколько я понимаю, пакетный скрипт должен запускать цикл, который будет непрерывно проверять наличие первого Oem*.inf
использования pnputil.exe -e
, помещать его в переменную, запускать pnputil.exe -d variable
и затем начинать заново, пока pnputil.exe -e
не вернет нулевой результат, после чего завершать работу.
К сожалению, мои так называемые знания заканчиваются именно на этом, поэтому я прошу вас о помощи. Пожалуйста.
решение1
Ненавижу это говорить... но это, кажется, плохая идея. Раньше все с oemXX.inf устанавливалось пользователем, а не операционной системой. Теперь, с Windows 10... Я не устанавливал большинство этих драйверов в свою систему.
Тем не менее, вы просите и вы получите. Это немного небрежно, но это должно работать.
@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
Этот сценарийв настоящее время безвредениз-за echo
перед pnputil
командой в конце. Пока это echo
не будет удалено, скрипт должен быть совершенно безопасен.