florianhh
Goto Top

Batch soll bestimmte Zeilen auslesen und ersetzen, aber wenn ich eine Zeile einfüge welche eine Klammer enthält startet die Batch Datei nicht...

Hallo zusammen,
ich hoffe ihr könnt mir helfen face-smile!

Ich habe folgendes Problem:

Ich möchte, dass die Batch-Datei eine Quelldatei öffnet, welche ich definiert habe. Diese Text-Datei enthält mehrere Zeilen, welche ausgelesen und durch eine andere Zeile ersetzt werden sollen.

Die Batch-Datei funktioniert so lange bis ich eine Zeile eingebe die verändert werden soll, wo eine Klammer "()" enthalten ist...
(Zumindest erscheint es mir so, dass es an der Klammer liegt, da die Batch die ganze Zeit funktioniert hat. Aber jetzt wo eine Zeile mit einer Klammer dabei ist funktioniert es nicht mehr).

Im unteren Code funktioniert die erste Zeile allein ohne Probleme:
SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000001 Standort1 Name=# DE0000000000000000000000000000001 DE0000000000000000000000000000001 1-1:1.9.1 Standort1 Name!

aber sobald ich die zweite hinzufüge:
SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000002 Standort2 (Name)=# DE0000000000000000000000000000002 DE0000000000000000000000000000002 1-1:1.9.1 Standort2 Name!

startet die Batch-Datei nur ganz kurz und schließt sich direkt wieder ohne dass ich etwas erkennen kann und die Ausgabe Datei wird nicht erstellt.


Hier meien komplette Batch-Datei:
echo off

SETLOCAL enabledelayedexpansion

SET quelle=test.txt
SET ziel=ausgabe.txt


FOR /f "delims=" %%i IN ('FINDSTR . %quelle%') DO (  
SET ganze_zeile=%%i

SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000001 Standort1 Name=# DE0000000000000000000000000000001 DE0000000000000000000000000000001 1-1:1.9.1 Standort1 Name!

SET ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000002 Standort2 (Name)=# DE0000000000000000000000000000002 DE0000000000000000000000000000002 1-1:1.9.1 Standort2 Name!


ECHO !ganze_zeile!
ECHO !ganze_zeile! >> %ziel%
)

(Text rausgenommen von mir. War aufgrund von nicht Wissen etwas böse)
Sie funktioniert face-smile... eigentlich... Zumindest so lange bis ich eine Zeile einfüge, die eine Klammer aufweist..

Kann es an der Klammer liegen?
Wenn ja, habt ihr einen Lösungsvorschlag oder einen Tip wie ich das anders schreiben kann?
Wenn nein, dann hab ich glaube ich ein Problem, weil sonst ist nichts anders an den Zeilen.


Vielen Dank schonmal für eine Antwort oder einen Tipp!!!


MfG
Flo

Content-Key: 163042

Url: https://administrator.de/contentid/163042

Ausgedruckt am: 28.03.2024 um 10:03 Uhr

Mitglied: 60730
60730 21.03.2011, aktualisiert am 18.10.2012 um 18:46:14 Uhr
Goto Top
Moin,

startet die Batch-Datei nur ganz kurz und schließt sich direkt wieder ohne dass ich etwas erkennen kann und die Ausgabe Datei wird nicht erstellt.
ist ja beim führenden kein Kunststück.. face-sad

einen Profi ist sie bestimmt nicht schön, aber sie funktioniert face-smile... eigentlich...
Da das ein leicht umgestrickter ist - ist die Zeile aber wirklich böse....

btw: Weißt du eigentlich, was du da machst?
  • Zuerst setzt du eine Variable mit einem INhalt und den änderst du und der geänderte Inhalt soll nochmal geändert werden face-sad

Klick meine blauen Buchstaben an und liess dir die Infos durch....

Gruß
Mitglied: FlorianHH
FlorianHH 21.03.2011, aktualisiert am 18.10.2012 um 18:46:14 Uhr
Goto Top
Hey,

Danke erstmal für die Antwort!

ist ja beim führenden kein Kunststück.. face-sad

Okay wusste ich nicht (neuling :S)... Danke schonmal für den Tipp!

Da das ein leicht umgestrickter ist -
ist die Zeile aber wirklich böse....

Echt? Das tut mir Leid!!! Hab die letzte Woche irgendwo im Netz gefunden, aber es war definitiv nicht hier face-sad

btw: Weißt du eigentlich, was du da machst?
  • Zuerst setzt du eine Variable mit einem INhalt und den änderst du und der geänderte Inhalt soll nochmal geändert
werden face-sad

Nein nicht sicher... wie gesagt gefunden und bisschen dran rumgebastelt... Sie funtkionierte und ich war erstmal glücklich... :/


Gruß
Flo
Mitglied: bastla
bastla 21.03.2011 um 12:53:53 Uhr
Goto Top
@t-mo
Da das ein leicht umgestrickter Bastla ist
Na hoffentlich nicht wirklich ... face-wink

@FlorianHH
Versuch es so:
SET "ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000002 Standort2 (Name)=# DE0000000000000000000000000000002 DE0000000000000000000000000000002 1-1:1.9.1 Standort2 Name!" 
Grüße
bastla
Mitglied: FlorianHH
FlorianHH 21.03.2011 um 13:12:16 Uhr
Goto Top
Hey bastla,

Danke funktioniert einwandfrei face-smile!!!

Gruß
Flo