Batch Skript Problem, ersetzen einer Zeile unterhalb einer bestimmten Zeile
Hallo Leute,
wahrscheinlich lacht man mich hier gleich aus, aber ich habe ein Problem mit einem Batch script. Ich möchte gerne eine Zeile einer Config per Script ändern, welches in dem File öfter vorkommt, aber ich nur diese eine Zeile ändern möchte. Anhand einer darüberliegenden Zeile möchte diese Zeile identifizieren können und die darunterliegende Zeile muss dann ersetzt werden.
Ungefähr so:
Vorher:
TextA
TextB
TestC
<connect> 192.168.0.10 </connect>
<enable>0</enable>
TextX
TextY
TextZ
Nachher:
TextA
TextB
TestC
<connect> 192.168.0.10 </connect>
<enable>1</enable>
TextX
TextY
TextZ
Die Zeile mit <enable> kommt leider in dem Config File öfter vor, so dass ich dir gewünschte Zeile immer unterhalb von <connect> ersetzen möchte durch einen entsprechenden Wert.
Könnte mir da jemand vielleicht weiterhelfen?
Danke!
wahrscheinlich lacht man mich hier gleich aus, aber ich habe ein Problem mit einem Batch script. Ich möchte gerne eine Zeile einer Config per Script ändern, welches in dem File öfter vorkommt, aber ich nur diese eine Zeile ändern möchte. Anhand einer darüberliegenden Zeile möchte diese Zeile identifizieren können und die darunterliegende Zeile muss dann ersetzt werden.
Ungefähr so:
Vorher:
TextA
TextB
TestC
<connect> 192.168.0.10 </connect>
<enable>0</enable>
TextX
TextY
TextZ
Nachher:
TextA
TextB
TestC
<connect> 192.168.0.10 </connect>
<enable>1</enable>
TextX
TextY
TextZ
Die Zeile mit <enable> kommt leider in dem Config File öfter vor, so dass ich dir gewünschte Zeile immer unterhalb von <connect> ersetzen möchte durch einen entsprechenden Wert.
Könnte mir da jemand vielleicht weiterhelfen?
Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 319505
Url: https://administrator.de/forum/batch-skript-problem-ersetzen-einer-zeile-unterhalb-einer-bestimmten-zeile-319505.html
Ausgedruckt am: 23.12.2024 um 20:12 Uhr
3 Kommentare
Neuester Kommentar
Hallo noobie99.
Das bisschen Inhalt, das du gepostet hast, sieht nach XML aus. So etwas bearbeitet man mit einer Sprache die das DOM unterstützt (PowerShell, VBScript, JScript, ...). Batch ist ungeeignet, allein schon weil mit einiger Wahrscheinlichkeit das Charset nicht passt (vermutlich UTF-8).
Um dir weiterhelfen zu können, benötigen wir den exakten Aufbau der Datei.
Grüße
rubberman
Das bisschen Inhalt, das du gepostet hast, sieht nach XML aus. So etwas bearbeitet man mit einer Sprache die das DOM unterstützt (PowerShell, VBScript, JScript, ...). Batch ist ungeeignet, allein schon weil mit einiger Wahrscheinlichkeit das Charset nicht passt (vermutlich UTF-8).
Um dir weiterhelfen zu können, benötigen wir den exakten Aufbau der Datei.
Grüße
rubberman
Du könntest mit dem findstr Befehl in einer for schleife nach der Zeile mit dem connect suchen, dir die Zeilenzahl ausgeben lassen, eins dazuzählen, diese Zeile dann bearbeiten und alles zusammen in ne neue Datei schreiben. Wenn du damit nichts anfangen kannst, schreib ich dir gern ne kleine Batch zusammen ;) geht natürlich nur wenn die Codierung etc passt.
LG Tim
LG Tim