cherubim.entia 10 Geschrieben 9. August 2010 Melden Teilen Geschrieben 9. August 2010 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? Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 9. August 2010 Melden Teilen Geschrieben 9. August 2010 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? Zitieren Link zu diesem Kommentar
cherubim.entia 10 Geschrieben 9. August 2010 Autor Melden Teilen Geschrieben 9. August 2010 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% Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.