Batsch doppelte Zeile in in Text finden und eine löschen
Hallo zusammen.
Ich habe noch nicht so viel Erfahrung mit batch.
Ich will eine Textdatei (oder optional alle Datein in einem Ordner) Zeile für Zeile durchsuchen.
Stehen zwei exakt gleiche Zeilen untereinander will ich eine der Zeilen löschen (bzw beim neuschreiben weglassen).
Vielen Dank für eure Hilfe und die Unterstützung die ihr in diesem Forum anbietet.
Ich habe noch nicht so viel Erfahrung mit batch.
Ich will eine Textdatei (oder optional alle Datein in einem Ordner) Zeile für Zeile durchsuchen.
Stehen zwei exakt gleiche Zeilen untereinander will ich eine der Zeilen löschen (bzw beim neuschreiben weglassen).
Vielen Dank für eure Hilfe und die Unterstützung die ihr in diesem Forum anbietet.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 328387
Url: https://administrator.de/forum/batsch-doppelte-zeile-in-in-text-finden-und-eine-loeschen-328387.html
Ausgedruckt am: 15.04.2025 um 03:04 Uhr
10 Kommentare
Neuester Kommentar

Wenn man "Batsch" richtig schreiben würde, fände man das hier und x mehr...
Mit Batchdatei aus einer .txt doppelte Zeilen löschen
Gruß
Mit Batchdatei aus einer .txt doppelte Zeilen löschen
Gruß

XML Dateien sind ungeeignet für Batch-Processing schon wegen UTF8 und co., dazu nimmt man den XML-Parser in Powershell...
p.s. und ich seh da nichts doppeltes ...
p.s. und ich seh da nichts doppeltes ...

p.s. und ich seh da nichts doppeltes ...
Ich schon...
</Data>
</Data>
</Data>
</Data>
</Data>
</Data>
</Data>
</Data>
</Data>

jetzt schon, vorher war das nicht da
hat sich wohl beim Posten überschnitten.
Da hat wohl so ein "Intelligenzbolzen" das File nicht mit einem vernünftigen objektorientierten XML-Parser bearbeitet X-) dann wäre so eine Überarbeitung erst gar nicht nötig.
War er wahrscheinlich selber
>>> Suchen ersetzen mit Sonderzeichen
Da hat wohl so ein "Intelligenzbolzen" das File nicht mit einem vernünftigen objektorientierten XML-Parser bearbeitet X-) dann wäre so eine Überarbeitung erst gar nicht nötig.
War er wahrscheinlich selber

Dann poste doch mal das Ausgangsprodukt wo noch alles aus dem Original vorhanden ist. Dann schreibst du was mit dem Dokument exakt gemacht werden soll dann können wir dir vernünftigen Code schreiben der das XML als Object behandelt und der das was du nicht daraus brauchst vernünftig und vor allem vollständig entfernt, dann ist diese Nacharbeits-Krücke mit den überfälligen Endtags erst gar nicht nötig! So ist das absolutes "Flickwerk" mit dem du in Zukunft kein vernünftiges Ergebnis erzielst.
Wenn du aus einer anderen Branche kommst dann solltest du unseren Empfehlung auch Gehör schenken, denn nicht alles was man manchen kann ist in dem Sinne auch sinnvoll, und so wie ich das hier sehe ist der Fehler einfach aus Unwissenheit entstanden. Das können wir dir durch Alternativen definitiv verbessern.
Das hier mit Batch auszubügeln halte ich definitv für die falsche Entscheidung.
Zur Korrektur des obigen Beispiels z.B. ginge
Aber wie gesagt wenn wir den ganzen Kontext kennen ließe sich das wesentlich professioneller lösen.
Wenn du aus einer anderen Branche kommst dann solltest du unseren Empfehlung auch Gehör schenken, denn nicht alles was man manchen kann ist in dem Sinne auch sinnvoll, und so wie ich das hier sehe ist der Fehler einfach aus Unwissenheit entstanden. Das können wir dir durch Alternativen definitiv verbessern.
Das hier mit Batch auszubügeln halte ich definitv für die falsche Entscheidung.
Zur Korrektur des obigen Beispiels z.B. ginge
@echo off
set "datei=D:\test.txt"
powershell -Executionpolicy ByPass -Command "[regex]::matches((gc '%datei%' -Raw),'(?is)<Data .*?</Data>').Groups.Value | set-content '%datei%'"

Wie gesagt das ist für eine XML-Datei eine gänzlich ungeeignete Vorgehensweise. XML Dateien sind hier sehr penibel zu betrachten!
Richtig machst du das indem man mit XPath die entsprechenden Knoten ausfiltert und dann komplett löscht! Helfen kann ich hier nur wenn man mal eine ganze Datei hätte.
Richtig machst du das indem man mit XPath die entsprechenden Knoten ausfiltert und dann komplett löscht! Helfen kann ich hier nur wenn man mal eine ganze Datei hätte.