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?
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 202194
Url: https://administrator.de/contentid/202194
Ausgedruckt am: 05.11.2024 um 12:11 Uhr
4 Kommentare
Neuester Kommentar
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