Gast Flipshot Geschrieben 29. September 2004 Melden Teilen Geschrieben 29. September 2004 Ich habe in einer "Printer.bat" Datei folgende Zeilen stehen: %TMP%\con2prt.exe /cd \\RFAXSV01\REDVDR01 ;REDVPC99 %TMP%\con2prt.exe /c \\RPRNSV01\REDVCS01 ;REDVPC99 %TMP%\con2prt.exe /c \\RPRNSV01\REDVMS01 ;REDVPC99 Beim Ausführen der Zeilen werden die Drucker zwar verbunden, es erscheint aber trotzdem eine Fehlermeldung wegen dem ";REDVPC99" am Ende, weil das nicht mehr als Parameter ausgewertet werden kann. Wie kann ich mittels Batch-Befehlen die Zeilen bearbeiten, dass ";REDVPC99" abgeschnitten wird und nur noch der reine Befehl mit den richtigen Parametern ausgeführt wird?! Zitieren Link zu diesem Kommentar
reyeg 10 Geschrieben 29. September 2004 Melden Teilen Geschrieben 29. September 2004 Hi Flipshot, irgendwie versteh ich Dein Problem net... Du haste eine Batch Datei: Printer.bat in dieser Batchdatei stehen Befehle zum Druckermapping mit einem Parameter am Ende der nicht ausgewertet werden kann und dadurch eine Fehlermeldung ausgibt (im Dosfenster) Und jetzt willst Du wiederrum eine Batch Datei die die Parameter am Ende ignoriert? Hast Du auf die Printer.bat keinen Zugriff? Wenn die Fehler net sichtbar sein sollen, dann minimiere doch die DOSbox per Batch *g* Cu Reyeg :) Zitieren Link zu diesem Kommentar
Gast Flipshot Geschrieben 29. September 2004 Melden Teilen Geschrieben 29. September 2004 Du haste eine Batch Datei: Printer.batin dieser Batchdatei stehen Befehle zum Druckermapping mit einem Parameter am Ende der nicht ausgewertet werden kann und dadurch eine Fehlermeldung ausgibt (im Dosfenster) Richtig :-) Und jetzt willst Du wiederrum eine Batch Datei die die Parameter am Ende ignoriert? Ja, ich muss per Batch Befehlen die Datei bearbeiten, so dass der letzte Parameter abgeschnitten wird und nur noch der Befehl mit den "zwei" gültigen Parametern ausgeführt wird. Hast Du auf die Printer.bat keinen Zugriff? Doch, aber die Frage versteh ich jetzt net ganz?! Wenn die Fehler net sichtbar sein sollen, dann minimiere doch die DOSbox per Batch *g* Das lass ich momentan machen, indem ich die "Printer.bat" mit "> Nul" ausführen lasse. Allerdings würde ich gerne anzeigen lassen welche Drucker verbunden werden, was die "Con2Prt.exe" recht gut kann. Ich habe mir schon überlegt, ob ich das net mit KIX32 Scripten mach. Das wär wahrscheinlich die einfachste Lösung. Zitieren Link zu diesem Kommentar
the_p 10 Geschrieben 29. September 2004 Melden Teilen Geschrieben 29. September 2004 Also ich verstehe dich nicht ganz. Wieso machst du die datei nicht einfach mit dem Editor auf und veränderst sie so wie du willst? Zitieren Link zu diesem Kommentar
Gast Flipshot Geschrieben 29. September 2004 Melden Teilen Geschrieben 29. September 2004 Weil die Datei erst durch die Start-Scripte erzeugt wird und ich an dieser Stelle keinerlei Möglichkeit habe die mit nem Editor zu bearbeiten. Das muss für ca. 650 PCs automatisch gehen! Zitieren Link zu diesem Kommentar
Perin 10 Geschrieben 29. September 2004 Melden Teilen Geschrieben 29. September 2004 Hi flipshot, Du meinst sowas wie sed unter Linux? Ansonsten, wenn Du keinen Zugriff auf das Script hast, das die bat generiert, kannst Du das die con2prt.exe ersetzen durch ein anderes Programm, welches die batch auswertet und automatisch eine richtige erstellt? cu, Perin Zitieren Link zu diesem Kommentar
Gast Flipshot Geschrieben 29. September 2004 Melden Teilen Geschrieben 29. September 2004 for /F "delims=;" %%I in (Printer.bat) do ( echo %%I >> Printer_new.bat ) Zitieren Link zu diesem Kommentar
reyeg 10 Geschrieben 30. September 2004 Melden Teilen Geschrieben 30. September 2004 Original geschrieben von Flipshot for /F "delims=;" %%I in (Printer.bat) do ( echo %%I ) Hi Flipshot, danke für Deine Lösung! :) Erörtere mir mal bitte den o.g. Teil, damit ich es nachvollziehen kann. Danke und Gruß Reyeg :) Zitieren Link zu diesem Kommentar
Gast Flipshot Geschrieben 30. September 2004 Melden Teilen Geschrieben 30. September 2004 For /f "Delims=;" %%i In (Printer.bat) do ( Echo %%I ) Die Anweisung funktioniert im Prinzip wie ne Split-Funktion. Mit "For" durchlaufe ich die einzelnen Zeilen der "Printer.bat" und teile diese anhand des ";" in zwei Variablen auf. Variable %%i enthält dann den Teil vor dem ";" (also genau das was ich brauche), und Variable %%j enthält alles nach ";" (das was ich net brauche). Bei dem Echo %%i fehlte noch das >> "Printer2.bat". In der Datei landet dann nur der Inhalt der Variable %%i, also alles was vor dem ";" stand. 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.