Direkt zum Hauptinhalt

HP Treiber entfernen

Ich hasse HP, vor allem Drucker...

Der Uninstaller deren Software tat nix, alles blieb über. Also Radikal:wirklich alles. Bis auf dem Eintrag in der Liste der installierten Programme.
Liebes HP, wenn man die Hilfsprogramme deinstalliert, meinen Anwender damit AUCH den Druckertreiber. Auch der unbedarfte Anwender weiß, dass er nicht mehr HP drucken kann weil das Hilfsprogramm nicht mehr da ist, hat er ja deinstalliert.

Also Radikal an die Treiber ran:

@echo off
setlocal EnableExtensions EnableDelayedExpansion

set "DRIVERFILE=%TEMP%\drivers.txt"
set "HPFILE=%TEMP%\hpdrivers.txt"
set "FAILFILE=%TEMP%\hpdrivers_failed.txt"

echo [1/3] Installierte Treiber werden ermittelt...
pnputil /enum-drivers /files > "%DRIVERFILE%"

if errorlevel 1 (
    echo FEHLER: pnputil konnte die Treiber nicht auflisten.
    exit /b 1
)

rem HP-Treiber anhand der Provider-Zeilen ermitteln
rem Funktioniert mit englischer und deutscher Ausgabe

set "PUBLISHED="
set "PROVIDER="
type nul > "%HPFILE%"

for /f "usebackq delims=" %%L in ("%DRIVERFILE%") do (
    set "LINE=%%L"

    echo(!LINE!| findstr /i /b /c:"Published Name" /c:"Veröffentlichter Name" >nul
    if not errorlevel 1 (
        call :SaveDriver
        for /f "tokens=2 delims=:" %%A in ("!LINE!") do (
            set "PUBLISHED=%%A"
        )
        for /f "tokens=* delims= " %%A in ("!PUBLISHED!") do set "PUBLISHED=%%A"
        set "PROVIDER="
    )

    echo(!LINE!| findstr /i /b /c:"Provider Name" /c:"Anbietername" >nul
    if not errorlevel 1 (
        for /f "tokens=2 delims=:" %%A in ("!LINE!") do (
            set "PROVIDER=%%A"
        )
        for /f "tokens=* delims= " %%A in ("!PROVIDER!") do set "PROVIDER=%%A"
    )
)

call :SaveDriver

echo.
echo Gefundene HP-Treiber:
type "%HPFILE%"
echo.

if not exist "%HPFILE%" exit /b 0

echo [2/3] Deinstallation der HP-Treiber...
type nul > "%FAILFILE%"

for /f "usebackq delims=" %%D in ("%HPFILE%") do (
    echo.
    echo Entferne %%D ...
    pnputil /delete-driver %%D /uninstall
    if errorlevel 1 (
        echo %%D>>"%FAILFILE%"
    )
)

echo.
echo [3/3] Erneuter Versuch mit /force...

for /f "usebackq delims=" %%D in ("%FAILFILE%") do (
    echo.
    echo Erzwinge Entfernung von %%D ...
    pnputil /delete-driver %%D /force
)

echo.
echo Cleanup abgeschlossen.
echo Treiberliste: %DRIVERFILE%
echo Gefundene HP-Treiber: %HPFILE%
echo Fehlgeschlagene Erstversuche: %FAILFILE%
exit /b 0


:SaveDriver
if not defined PUBLISHED exit /b
if /i "!PROVIDER!"=="HP" echo !PUBLISHED!>>"%HPFILE%"
if /i "!PROVIDER!"=="Hewlett-Packard" echo !PUBLISHED!>>"%HPFILE%"
exit /b

danach neustarten, dann ist leer und ihr könnt weiter machen