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
!
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:
aber sobald ich die zweite hinzufüge:
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:
(Text rausgenommen von mir. War aufgrund von nicht Wissen etwas böse)
Sie funktioniert
... 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
ich hoffe ihr könnt mir helfen
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 163042
Url: https://administrator.de/forum/batch-soll-bestimmte-zeilen-auslesen-und-ersetzen-aber-wenn-ich-eine-zeile-einfuege-welche-eine-klammer-163042.html
Ausgedruckt am: 08.04.2025 um 23:04 Uhr
4 Kommentare
Neuester Kommentar

Moin,

btw: Weißt du eigentlich, was du da machst?
Klick meine blauen Buchstaben an und liess dir die Infos durch....
Gruß
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.. 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
Klick meine blauen Buchstaben an und liess dir die Infos durch....
Gruß
@t-mo

@FlorianHH
Versuch es so:
Grüße
bastla
Da das ein leicht umgestrickter Bastla ist
Na hoffentlich nicht wirklich ... @FlorianHH
Versuch es so:
SET "ganze_zeile=!ganze_zeile:# DE0000000000000000000000000000002 Standort2 (Name)=# DE0000000000000000000000000000002 DE0000000000000000000000000000002 1-1:1.9.1 Standort2 Name!"
bastla