Jump to content
Sign in to follow this  
cherubim.entia

Prüfen, ob Drucker existiert

Recommended Posts

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?

Share this post


Link to post
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?

Share this post


Link to post

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%

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...