Jump to content

Per Batch String bearbeiten!


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

Empfohlene Beiträge

Geschrieben

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?!

Geschrieben

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 :)

Geschrieben
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)

 

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.

Geschrieben

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!

Geschrieben

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

Geschrieben
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 :)

Geschrieben
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.

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...