Jump to content

Prüfen, ob Drucker existiert


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo!

 

Wir haben ein kleines Batch-Script, welches einen alten Drucker löschen und dann einen neuen verbinden soll.

Das Problem ist, dass wenn der alte Drucker schon nichtmehr existiert, der start des PCs sich um bis zu 1,5 Minuten verzögert - und das wollen wir nicht.

 

Meiner Meinung nach wäre dann eine einfache "IF EXIST <Printer>" am einfachsten, allerdings konnte ich noch nicht herausfinden, wie ich das hinbekomme... Vorschläge?

Geschrieben
Wir haben ein kleines Batch-Script, welches einen alten Drucker löschen und dann einen neuen verbinden soll.

Das Problem ist, dass wenn der alte Drucker schon nichtmehr existiert, der start des PCs sich um bis zu 1,5 Minuten verzögert - und das wollen wir nicht.

 

Meiner Meinung nach wäre dann eine einfache "IF EXIST <Printer>" am einfachsten, allerdings konnte ich noch nicht herausfinden, wie ich das hinbekomme... Vorschläge?

 

Wie sieht denn das bisher aus?

Geschrieben

So, habe mittlerweile eine Lösung gefunden... lasse mir den entsprechenden Teil der Registry in eine Datei exportieren, darin dann nach dem entsprechenden String suchen und sollte dieser vorhanden sein, deinstalliere ich den Drucker.

 

Die Skriptdatei heißt exakt wie der Drucker, daher ist es einfacher, "%~n0" statt des Druckernamens zu nutzen.

 

@echo off

REM # Druckserver-Variable einbinden
call \\herbert.local\NETLOGON\Drucker\DRUCKSERVER.bat

Hier binde ich eine externe .bat ein um zentrale Variablen festzulegen.

 

REM # Falls vorhanden, alten Drucker löschen
REG EXPORT HKCU\Printers\Connections %Druckerliste%
IF NOT EXIST %Druckerliste% GOTO RE-INSTALL 

Export der Registry.

 

FIND ",%Druckserver_ALT%,%~n0" < %Druckerliste%
IF ERRORLEVEL 1 GOTO RE-INSTALL 

ECHO "%~n0" gefunden, lösche. 
rundll32 printui.dll,PrintUIEntry /q /dn /n "\\%Druckserver_ALT%\%~n0"

Suchen des Eintrages, wenn gefunden wird der Drucker entfernt.

 


REM # Drucker trennen und neu Verbinden
:RE-INSTALL
rundll32 printui.dll,PrintUIEntry /q /dn /n "\\%Druckserver_NEU%\%~n0"
rundll32 printui.dll,PrintUIEntry /q /in /n "\\%Druckserver_NEU%\%~n0"


REM # Lösche Druckerlistendatei
IF EXIST %Druckerliste% DEL %Druckerliste%

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...