CeDeZ 0 Geschrieben 2. Juni 2015 Melden Teilen Geschrieben 2. Juni 2015 Hallo :-) Ich hab mal ne Frage zu einer Batch Datei. Ich möchte eine Druckerauswahl auflisten von Druckern, die am Server freigegeben sind und per Tastendruck den entsprechenden Drucker einbinden (im Idealfall mit Meldung am Ende "Drucker erfolgreich installiert". Außerdem soll man mehrere Drucker einbinden können. Ich bin momentan so weit, dass die Drucker aufgelistet werden und er einen Befehl ausführen möchte bei der entsprechenden Eingabe. Leider erscheint nur kurz das Installationsfenster und verschwindet dann sofort wieder. Extras: Kann ich das Script irgendwie per ESC beenden? Hier das momentane Script: @echo off:Abfrageecho Bitte waehlen Sie die zu installierenden Drucker:echo.echo [1] Drucker1echo [2] Drucker2echo [3] Drucker3SET /p wahl=if '%wahl%' == "1" goto Wahl1if '%wahl%' == "2" goto Wahl2if '%wahl%' == "3" goto Wahl3:Wahl1rundll32 printui.dll,PrintUIEntry /in /n "\\SERVER\Drucker1goto Abfrage:Wahl2rundll32 printui.dll,PrintUIEntry /in /n "\\SERVER\Drucker2"goto Abfrage:Wahl3rundll32 printui.dll,PrintUIEntry /in /n "\\SERVER\Drucker3" Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 2. Juni 2015 Melden Teilen Geschrieben 2. Juni 2015 Es wäre wohl einfacher, dem User eine Kurzanleitung bereitzustellen, wie man einen Drucker "im Verzeichnis" sucht :) Mit Escape beenden geht nicht. Und wenn ich "printui /?" richtig interpretiere, darf zwischen /n und dem Namen kein Leerzeichen kommen. (Wir verwenden nicht printui, sondern WMI und Win32_Printer - daher ist meine Erfahrung mit printui etwas beschränkt...) Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 3. Juni 2015 Autor Melden Teilen Geschrieben 3. Juni 2015 Es wäre wohl einfacher, dem User eine Kurzanleitung bereitzustellen, wie man einen Drucker "im Verzeichnis" sucht :) Mit Escape beenden geht nicht. Und wenn ich "printui /?" richtig interpretiere, darf zwischen /n und dem Namen kein Leerzeichen kommen. (Wir verwenden nicht printui, sondern WMI und Win32_Printer - daher ist meine Erfahrung mit printui etwas beschränkt...) Den Usern kann man sowas nicht zumuten, da sie sowieso jeglichen Mehraufwand scheuen :-) Generell soll es mir auch dienen, wenn ich neue PCs einrichte. Der Printui Befehl klappt ohne Probleme, wenn ich ihn hintereinander ausführen lasse, bzw. alleinstehend. Sobald ich jedoch die Abfrage einbinde, installiert er die Treiber nicht zu Ende, sondern fängt nur kurz an und bricht dann ab Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 3. Juni 2015 Melden Teilen Geschrieben 3. Juni 2015 Hi, warum verbindest du die Drucker denn nicht per GPP? Gruß Jan Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 3. Juni 2015 Melden Teilen Geschrieben 3. Juni 2015 Den Usern kann man sowas nicht zumuten, da sie sowieso jeglichen Mehraufwand scheuen :-) Doch, man kann den Benutzern zumuten auch etwas selbst zu tun. Oder mußt Du ihnen das Outlook oder Word auch öffnen? Wenn sie das alleine schaffen, dann kriegen sie den Rest auch hin. Man muss es ihnen einfach nur ein- oder zweimal zeigen. Generell soll es mir auch dienen, wenn ich neue PCs einrichte. Der Printui Befehl klappt ohne Probleme, wenn ich ihn hintereinander ausführen lasse, bzw. alleinstehend. Sobald ich jedoch die Abfrage einbinde, installiert er die Treiber nicht zu Ende, sondern fängt nur kurz an und bricht dann ab Welche Fehlermeldung findest Du dazu im Ereignisprotokoll auf dem Rechner? Alternativ an den richtigen Stellen ein PAUSE eintragen und die Fehlermeldungen anzeigen lassen. Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 3. Juni 2015 Autor Melden Teilen Geschrieben 3. Juni 2015 sind nur Arbeitsgruppencomputer und das mit dem zumuten wurde ja schon häufiger diskutiert Sunny61. Als Dienstleister ist man auf die Zufriedenheit der Kunden angewiesen (ob man es glaubt oder nicht, es gibt extrem anstrengende Kunden die auch schon beim manuellen Starten von Outlook meckern). Ist der Kunde unzufrieden wegen dem "Mehraufwand", wird eben ein anderer Dienstleister beauftragt. Deshalb versuche ich es mit genau dieser Methode umzusetzen :-) Sorry für die blöde Frage, aber wo finde ich die Ereignisanzeige DAFÜR? PS: Wenn ich das "goto Abfrage" bei den Sprungmarken weglasse, dann installiert er die Treiber und bindet den Drucker ein, allerdings dann alle der Reihe nach. Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 3. Juni 2015 Melden Teilen Geschrieben 3. Juni 2015 In deinem Script fehlt beim ersten rundll-Befehl das "Gänsefüssle" am Ende. Warum der rundll-Befehl abbricht, ist mir schleierhaft. Aber evtl. hilft sowas wie "start /w rundll..."? Statt mit ESC das Script abzubrechen einfach ne 4. Option "Ende" mit nem "Exit" einbauen. Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 3. Juni 2015 Autor Melden Teilen Geschrieben 3. Juni 2015 (bearbeitet) In deinem Script fehlt beim ersten rundll-Befehl das "Gänsefüssle" am Ende. Warum der rundll-Befehl abbricht, ist mir schleierhaft. Aber evtl. hilft sowas wie "start /w rundll..."? Statt mit ESC das Script abzubrechen einfach ne 4. Option "Ende" mit nem "Exit" einbauen. Hoppla, gut aufgepasst! Danke :-D Ist aber leider nicht die Ursache, hab das nur der Übersichtshalber abgeändert mit den Namen für den Post und es dabei vergessen. Im eigentlichen Befehl ist es drin. Er bricht nur ab, wenn Sie nicht hintereinander durchlaufen. Sobald ich ein goto hinter einem einzelnen rundll Befehl setze zeigt er das Druckerinstallationsfenster für 1 Sekunde und bricht ab. Hab jetzt mal genauer hingeschaut und gesehen, dass er immer nur die erste Auswahl berücksichtigt, d.h. wenn ich z.B. "2" eingebe, will er auch Drucker1 installieren. Hab ich vlt einen Fehler bei den Sprungmarken drin?! Das mit Der Exit Funktion habe ich bereits eingebaut, hätte es nur gerne über ein Tastaturinput gemacht, trotzdem danke :-) LÖSUNG: Endlich habe ich den Fehler gefunden... so klein und doch so große Auswirkungen... if '%wahl%' == "1" goto Wahl1 Ich habe ' statt " benutzt. Mit normalen Gänsefüsschen funktioniert es wunderbar :-) bearbeitet 3. Juni 2015 von CeDeZ Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 3. Juni 2015 Melden Teilen Geschrieben 3. Juni 2015 Ich meinte doch als 4. Option "echo [4] Ende" mit einem "if %wahl% == 4 Exit". Wäre doch dann ein Tastaturinput :) Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 3. Juni 2015 Autor Melden Teilen Geschrieben 3. Juni 2015 Ich meinte doch als 4. Option "echo [4] Ende" mit einem "if %wahl% == 4 Exit". Wäre doch dann ein Tastaturinput :) Stimmt :-D ich meinte aber eher eine Funktionstaste a la ESC oder F1 oder so. Hab es jetzt aber auch entsprechend erweitert und per 0 wird der Befehl EXIT ausgeführt :-) Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 3. Juni 2015 Melden Teilen Geschrieben 3. Juni 2015 sind nur Arbeitsgruppencomputer und das mit dem zumuten wurde ja schon häufiger diskutiert Sunny61. Als Dienstleister ist man auf die Zufriedenheit der Kunden angewiesen (ob man es glaubt oder nicht, es gibt extrem anstrengende Kunden die auch schon beim manuellen Starten von Outlook meckern). Meckern ist das eine, aber sich nichts zeigen zu lassen ist das andere. ;) Sorry für die blöde Frage, aber wo finde ich die Ereignisanzeige DAFÜR? Start > Ausführen > eventvwr.msc [ENTER]. ;) Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 4. Juni 2015 Autor Melden Teilen Geschrieben 4. Juni 2015 (bearbeitet) Meckern ist das eine, aber sich nichts zeigen zu lassen ist das andere. ;) Start > Ausführen > eventvwr.msc [ENTER]. ;) Ja, so sind leider viele. Hauptsache bequem Danke, das mit der Ereignisanzeige weiß ich :-D ich meinte eher wo ich die Ereignisprotkollierung für die Console finde. Hatte schon alles mögliche durchforstet in der Ereignisanzeige :-) bearbeitet 4. Juni 2015 von CeDeZ Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 4. Juni 2015 Melden Teilen Geschrieben 4. Juni 2015 Ja, so sind leider viele. Hauptsache bequem Jepp, aber im Brwoser dann Google eintippen, www.gmx.de in das Suchfeld eingeben, die Maus suchen, auf OK klicken, und jetzt wieder mit der Maus auf gmx.de klicken umd die Mailadresse und das PW eintippen. Das sind mir die liebsten! Danke, das mit der Ereignisanzeige weiß ich :-D ich meinte eher wo ich die Ereignisprotkollierung für die Console finde. Hatte schon alles mögliche durchforstet in der Ereignisanzeige :-) Nein, eine spezielle für die Commandline gibt es auch nicht. Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 4. Juni 2015 Autor Melden Teilen Geschrieben 4. Juni 2015 Jepp, aber im Brwoser dann Google eintippen, www.gmx.de in das Suchfeld eingeben, die Maus suchen, auf OK klicken, und jetzt wieder mit der Maus auf gmx.de klicken umd die Mailadresse und das PW eintippen. Das sind mir die liebsten! Nein, eine spezielle für die Commandline gibt es auch nicht. :-D ganz genau Dachte man könnte evtl. Fehler ausgeben lassen, wie man auch Befehle in eine Textdatei z.b. ausgeben lässt. Unter welchem Punkt würde ich denn ansonsten die Vorgänge der Console in der Ereignisanzeige sehen? wird da eine simple batch so genau protokolliert? Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 4. Juni 2015 Melden Teilen Geschrieben 4. Juni 2015 Dachte man könnte evtl. Fehler ausgeben lassen, wie man auch Befehle in eine Textdatei z.b. ausgeben lässt. Unter welchem Punkt würde ich denn ansonsten die Vorgänge der Console in der Ereignisanzeige sehen? wird da eine simple batch so genau protokolliert? Innerhalb der Batch kannst Du natürlich Fehler protokollieren lassen. Oftmals reicht auch schon ein PAUSE an der richtigen Stelle und die Batch direkt auf der Commandline aufrufen. 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.