Bestimmte Inhalte einer Textzeile in .txt löschen
Einen wunderschönen wünsche ich ...
Ich hab ein Problem was es zu lösen gilt und trotz der hier schon so zahlreich vorhandenen Lösungen für so viele verschiedenen Dinge ist leider noch nichts dabei gewesen was mir wirklich weiterhelfen würde... *lufthol*
Und zwar geht es darum das ich einige .txt Dateien bekomme die wie folgt aufgebaut sind:
ABCD5 Efgh ijk {12a345678910111213} AB_CDEF (Z) . GHIJ KLMN. Xyz: 12-34567-8, IWD: 01 020304 0506070809
die komplette Datei ist untereinander mit solchen Textzeilen voll.
Um damit weiterarbeiten zu können ist es erforderlich dass das
"Xyz:" in einer Ausgabedatei am Anfang der Zeile steht.
Alles was davor steht, soll gelöscht werden.
Da es sich um ein paar Dateien mehr handelt wäre eine Batch, die das ganze automatisch für mich macht natürlich hilfreich, wenns denn möglich ist!
Praktisch wäre es natürlich wenn ich die Dateien aus einem Ordner in einem Rutsch aufgreifen
und in einem anderen Ordner als Ausgabedatei wieder abgespeichert bekäm.
Also, ich weiß nicht wie schwer das wird, ich hab es nicht geschafft, nun seid ihr dran = D
Hoffentlich ....
Gruß
Flo
Ich hab ein Problem was es zu lösen gilt und trotz der hier schon so zahlreich vorhandenen Lösungen für so viele verschiedenen Dinge ist leider noch nichts dabei gewesen was mir wirklich weiterhelfen würde... *lufthol*
Und zwar geht es darum das ich einige .txt Dateien bekomme die wie folgt aufgebaut sind:
ABCD5 Efgh ijk {12a345678910111213} AB_CDEF (Z) . GHIJ KLMN. Xyz: 12-34567-8, IWD: 01 020304 0506070809
die komplette Datei ist untereinander mit solchen Textzeilen voll.
Um damit weiterarbeiten zu können ist es erforderlich dass das
"Xyz:" in einer Ausgabedatei am Anfang der Zeile steht.
Alles was davor steht, soll gelöscht werden.
Da es sich um ein paar Dateien mehr handelt wäre eine Batch, die das ganze automatisch für mich macht natürlich hilfreich, wenns denn möglich ist!
Praktisch wäre es natürlich wenn ich die Dateien aus einem Ordner in einem Rutsch aufgreifen
und in einem anderen Ordner als Ausgabedatei wieder abgespeichert bekäm.
Also, ich weiß nicht wie schwer das wird, ich hab es nicht geschafft, nun seid ihr dran = D
Hoffentlich ....
Gruß
Flo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 124985
Url: https://administrator.de/contentid/124985
Ausgedruckt am: 18.11.2024 um 06:11 Uhr
8 Kommentare
Neuester Kommentar
Servus,
das ist einfach, mit einer For Schleife den Text durchsuchen, als Delims Xyz: , alles (variable einz nicht, nur Variable 2 in eine neue Datei) und das wars.
Gruß
For /?
das ist einfach, mit einer For Schleife den Text durchsuchen, als Delims Xyz: , alles (variable einz nicht, nur Variable 2 in eine neue Datei) und das wars.
Gruß
For /?
Moin Flohooo,
willkommen im Forum.
Versuch als Skizze dieses:
...wobei Du das "e:\schnipsel\Flohooo.txt" durch Deine Dateiangaben ersetzen musst
.. ggf. das "§"-Zeichen, das ich als Delimiter verwende (weil es in normalen Texten eher selten vorkommt) variieren musst.
Die jetzige Bildschirmausgabe des flohooo.cmd kannst du mit ">x:\yz\neueDatei.txt" in eine neue Datei umleiten.
Grüße
Biber
willkommen im Forum.
Versuch als Skizze dieses:
:----- snipp flohooo.cmd ---
@echo off & setlocal
FOR /F "Delims=" %%i in (e:\schnipsel\Flohooo.txt) do Set "line=%%i" && call:Processline
goto :eof
:Processline
Set "tmpline=%line:xyz:=§%"
FOR /F "tokens=2* delims=§" %%i in ("%tmpline%") do echo xyz:%%i
goto :eof
:----- snapp flohooo.cmd ---
.. ggf. das "§"-Zeichen, das ich als Delimiter verwende (weil es in normalen Texten eher selten vorkommt) variieren musst.
Die jetzige Bildschirmausgabe des flohooo.cmd kannst du mit ">x:\yz\neueDatei.txt" in eine neue Datei umleiten.
Grüße
Biber
Am einfachsten kann man Dateinamen gesammelt in der Console umbenennen.
In die Kommandozeile (Eingabeaufforderung) wechseln (je nach Betriebssystem anders zb Start->Ausführen: "cmd"), in den entsprechenden Ordner mit den .txt-Dateien wechseln und folgenden Befehl eingeben:
Wichtig sind natürlich die Sternchen, sie gelten als Platzhalter für alles was - in diesem Fall - vor und hinter dem "Xyz:" steht. Du musst allerdings auch darauf achten, dass die Zeichenfolge Xyz: sonst nirgends in dem Dateinamen auftaucht, sonst gibts Verwirrungen!!!
Das sollte funktionieren. Allerdings hab ich das jetzt nicht großartig getestet. Am besten vorher mal mit einer Sicherungskopie deiner txts ausprobieren...
In die Kommandozeile (Eingabeaufforderung) wechseln (je nach Betriebssystem anders zb Start->Ausführen: "cmd"), in den entsprechenden Ordner mit den .txt-Dateien wechseln und folgenden Befehl eingeben:
copy *Xyz:*.txt c:\Zielverzeichnis\Xyz*.txt
Wichtig sind natürlich die Sternchen, sie gelten als Platzhalter für alles was - in diesem Fall - vor und hinter dem "Xyz:" steht. Du musst allerdings auch darauf achten, dass die Zeichenfolge Xyz: sonst nirgends in dem Dateinamen auftaucht, sonst gibts Verwirrungen!!!
Das sollte funktionieren. Allerdings hab ich das jetzt nicht großartig getestet. Am besten vorher mal mit einer Sicherungskopie deiner txts ausprobieren...
... bzw etwas schlanker :
@Biber
Eigentlich hätte ich als (Deine) Zeile 8 erwartet:
was aber auch schon egal wäre, wenn "xyz:" mehrfach vorkäme ...
Grüße
bastla
:----- snipp flohooo.cmd ---
@echo off & setlocal
FOR /F "Delims=" %%i in (e:\schnipsel\Flohooo.txt) do Set "line=%%i" && call:Processline
goto :eof
:Processline
echo xyz:%line:*xyz:=%
goto :eof
:----- snapp flohooo.cmd ---
@Biber
Eigentlich hätte ich als (Deine) Zeile 8 erwartet:
FOR /F "tokens=1* delims=§" %%i in ("%tmpline%") do echo xyz:%%j
Grüße
bastla
Moin bastla,
Außerdem... ich denke, es freut Dich ja auch, anderen etwas über Verschlankungen weitergeben zu können
Grüße
Biber
Eigentlich hätte ich als (Deine) Zeile 8 erwartet:..
Hast natürlich Recht.... ich hatte es nur als (eine etwas längere) Zeile flüchtig am CMD-Prompt zusammengeschrotet als proof-of-concept und mich dann bei der Nacherzählung als Mini-Batch so darauf konzentrieren müssen, dass ich auch jedes der vielen %-Zeichen verdoppele.... da hab ich wohl ein bisschen an der Ästhetik eingespart...Außerdem... ich denke, es freut Dich ja auch, anderen etwas über Verschlankungen weitergeben zu können
Grüße
Biber
[OT]
@Biber
[/OT]
Grüße
bastla
@Biber
Außerdem... ich denke, es freut Dich ja auch, anderen etwas über Verschlankungen weitergeben zu können
Anderen schon ... [/OT]
Grüße
bastla