- Registriert
- 30 März 2024
- Beiträge
- 146
Ich habe hier noch eine Batch, die mir immer mal wieder bei Druckerproblemen sehr geholfen hat.
Z.B. wenn der Drucker bei Windows 11 einfach bei Geräte und Drucker nicht erscheint oder es wird nicht gedruckt
oder sonstige Schwierigkeiten. Es werden dabei nur bordeigene Hilfen benutzt. Powershell muss instaliert sein.
Der Rechner sollte danach nochmals neu gestartet werden zum Initialisieren.
Einfach den Code in ein *.bat File kopieren und dann z.B. SpoolerFix.bat benennen.
Wer will kann die Datei auch noch mit einem ICON versehen, die man mit einem Link auf dem Desktop ablegen kann.
Insgesamt gibt es 4 Optionen:
===================
1. Druckerwarteschlange löschen
2. Spooler reparieren
3. Druckertreiber entfernen
4. Alles (Queue + Treiber + Reparatur)
Achtung, die Benutzung ist auf eigene Gefahr.
Z.B. wenn der Drucker bei Windows 11 einfach bei Geräte und Drucker nicht erscheint oder es wird nicht gedruckt
oder sonstige Schwierigkeiten. Es werden dabei nur bordeigene Hilfen benutzt. Powershell muss instaliert sein.
Der Rechner sollte danach nochmals neu gestartet werden zum Initialisieren.
Einfach den Code in ein *.bat File kopieren und dann z.B. SpoolerFix.bat benennen.
Wer will kann die Datei auch noch mit einem ICON versehen, die man mit einem Link auf dem Desktop ablegen kann.
Insgesamt gibt es 4 Optionen:
===================
1. Druckerwarteschlange löschen
2. Spooler reparieren
3. Druckertreiber entfernen
4. Alles (Queue + Treiber + Reparatur)
Achtung, die Benutzung ist auf eigene Gefahr.
Code:
@echo off
title Spooler Reparatur Tool - Menue
:: ============================================================
:: 2. Adminrechte pruefen
:: ============================================================
>nul 2>&1 net session
if %errorlevel% neq 0 (
echo ============================================================
echo Das Script funktioniert nur mit Adminrechten:
echo.
echo 1. Mit der rechten Maustaste auf die Datei klicken
echo 2. Es oeffnet sich ein Kontextmenue
echo 3. Dort mit der linken Maustaste "Als Administrator ausfuehren" anklicken
echo ============================================================
pause
exit /b
)
:menu
cls
echo ============================================================
echo Bitte eine Option waehlen:
echo ============================================================
echo.
echo 1 = Druckerwarteschlange loeschen
echo 2 = Spooler reparieren
echo 3 = Druckertreiber entfernen
echo 4 = Alles (Queue + Treiber + Reparatur)
echo 0 = Beenden
echo.
set /p CHOICE=Auswahl:
if "%CHOICE%"=="1" goto queue
if "%CHOICE%"=="2" goto repair
if "%CHOICE%"=="3" goto treiber
if "%CHOICE%"=="4" goto all
if "%CHOICE%"=="0" exit /b
goto menu
:: ------------------------------------------------------------
:: OPTION 1 – Druckerwarteschlange loeschen
:: ------------------------------------------------------------
:queue
echo Loesche Druckerwarteschlange...
del /f /q "C:\Windows\System32\spool\PRINTERS\*.*" 2>nul
echo Fertig.
pause
goto menu
:: ------------------------------------------------------------
:: OPTION 2 – Spooler reparieren (DEIN ORIGINALSCRIPT)
:: ------------------------------------------------------------
:repair
call :RunRepair
pause
goto menu
:: ------------------------------------------------------------
:: OPTION 3 – Druckertreiber entfernen
:: ------------------------------------------------------------
:treiber
cls
echo ============================================================
echo Installierte Druckertreiber
echo ============================================================
echo.
pnputil /enum-drivers /class Printer
echo.
echo ============================================================
echo Bitte INF-Dateinamen eingeben (z.B. oem42.inf)
echo ============================================================
set /p INFNAME=INF-Datei:
if "%INFNAME%"=="" (
echo Keine Eingabe. Abbruch.
pause
goto menu
)
echo Entferne Treiber %INFNAME% ...
pnputil /delete-driver %INFNAME% /uninstall /force
echo.
echo Vorgang abgeschlossen.
pause
goto menu
:: ------------------------------------------------------------
:: OPTION 4 – Alles (Queue + Treiber + Reparatur)
:: ------------------------------------------------------------
:all
echo Loesche Druckerwarteschlange...
del /f /q "C:\Windows\System32\spool\PRINTERS\*.*" 2>nul
echo.
echo Entferne Druckertreiber...
for /f "tokens=3" %%i in ('pnputil /enum-drivers /class Printer ^| findstr /i "Published Name"') do (
pnputil /delete-driver %%i /uninstall /force
)
echo.
call :RunRepair
pause
goto menu
:: ------------------------------------------------------------
:: FUNKTION: DEIN ORIGINAL‑REPARATUR‑SCRIPT (NICHT VERÄNDERT)
:: ------------------------------------------------------------
:RunRepair
cls
echo Repariere Druckerspooler...
echo.
:: ============================================================
:: 1. Windows-Version prüfen (nur Windows 10/11)
:: ============================================================
ver | findstr /i "10." >nul
if %errorlevel% neq 0 (
echo Dieses Script ist nur fuer Windows 10/11 geeignet.
pause
exit /b
)
:: ============================================================
:: 3. Reparatur — PowerShell-Befehle EINZELN ausführen
:: ============================================================
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "sc.exe stop spooler"
echo.
:: ------------------------------------------------------------
:: 4. Druckerwarteschlange loeschen (NEU EINGEBAUT)
:: ------------------------------------------------------------
echo Loesche Druckerwarteschlange...
del /f /q "C:\Windows\System32\spool\PRINTERS\*.*" 2>nul
echo.
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "sc.exe delete spooler"
echo.
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "reg delete HKLM:\SYSTEM\CurrentControlSet\Services\Spooler /f"
echo.
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "dism /online /enable-feature /featurename:Printing-Foundation-Features /all"
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "dism /online /enable-feature /featurename:Printing-PrintToPDFServices-Features /all"
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "dism /online /enable-feature /featurename:Printing-XPSServices-Features /all"
echo.
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "sc.exe create spooler binPath= C:\Windows\System32\spoolsv.exe start= auto DisplayName= Druckwarteschlange"
echo.
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "reg add HKLM:\SYSTEM\CurrentControlSet\Services\Spooler /v DependOnService /t Multi_SZ /d RPCSS /f"
echo.
powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "sc.exe start spooler"
echo.
:: ============================================================
:: 5. Automatische Prüfung, ob der Spooler läuft
:: ============================================================
sc.exe query spooler | findstr /i "RUNNING" >nul
if %errorlevel%==0 (
echo ============================================
echo Der Druckerspooler wurde erfolgreich repariert.
echo Status: LAEUFT
echo ============================================
) else (
echo ============================================
echo Achtung: Der Spooler konnte nicht gestartet werden!
echo ============================================
)
goto :eof
Zuletzt bearbeitet:






