Textdatei per Batch editieren
Textdatei mit mehreren Zeilen soll bearbeitet werden!
Hallo!
Es soll per Batchdatei eine Textdatei editiert werden und zwar soll der letzte Teil einer jeden Zeilte weg:
"Text"|"Text"|"Zahlen"|"........"|"1"|"Test123"|"999"
"Bla bla"|"12345"|"XXXX"|"..X..."|"9"|"Test123"|"999"
"TX"|"Lalala"|"ZUEUEU"|".Y...V.."|"7"|"Test123"|"999"
Und von dieser Datei soll nun automatisch immer --> |"Test123"|"999" <-- weggenommen werden. Wie gehe ich da am besten vor?
Habt ihr eine Idee wie ich das Lösen könnte?
Es soll per Batchdatei eine Textdatei editiert werden und zwar soll der letzte Teil einer jeden Zeilte weg:
"Text"|"Text"|"Zahlen"|"........"|"1"|"Test123"|"999"
"Bla bla"|"12345"|"XXXX"|"..X..."|"9"|"Test123"|"999"
"TX"|"Lalala"|"ZUEUEU"|".Y...V.."|"7"|"Test123"|"999"
Und von dieser Datei soll nun automatisch immer --> |"Test123"|"999" <-- weggenommen werden. Wie gehe ich da am besten vor?
Habt ihr eine Idee wie ich das Lösen könnte?
Please also mark the comments that contributed to the solution of the article
Content-Key: 202194
Url: https://administrator.de/contentid/202194
Printed on: April 19, 2024 at 20:04 o'clock
4 Comments
Latest comment
Hallo @anding,
sieht aus wie eine .CSV-Datei mit Pipes als Trennsymbol. Sind die Anzahl der Felder immer gleich? (Sind also immer gleich viele Pipes in einer Zeile vorhanden?)
Falls ja, kann man mit einer for-Schleife alle Felder einzeln auslesen, die Zeile wieder zusammenbauen und in eine neue Datei speichern. Ungefähr so:
Beachte die dreifachen Zirkumflexe. Diese sind zwingend notwendig, um die Pipes zu escapen.
Gruß
Snow
sieht aus wie eine .CSV-Datei mit Pipes als Trennsymbol. Sind die Anzahl der Felder immer gleich? (Sind also immer gleich viele Pipes in einer Zeile vorhanden?)
Falls ja, kann man mit einer for-Schleife alle Felder einzeln auslesen, die Zeile wieder zusammenbauen und in eine neue Datei speichern. Ungefähr so:
SET test="Text"^|"text"^|355132^|"asdfoin"^|"Test123"^|"999"
ECHO "%test%" >a.txt
FOR /F "delims=^| tokens=1-9" %%a in ("%test%") do (
SET line=%%a^^^|%%b^^^|%%c^^^|%%d
)
ECHO %line%>>a.txt
PAUSE
Beachte die dreifachen Zirkumflexe. Diese sind zwingend notwendig, um die Pipes zu escapen.
Gruß
Snow