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

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?

Link zu diesem Kommentar
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?

Link zu diesem Kommentar

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%

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...