Batch file Zeichen ersetzen?
Hallo zusammen,
Ich hab ein textfile das data.txt heißt und habe darin in jeder Zeile einen Namen und dahinter @g weiß jemand wie ich mit hilfe von einer batch datei dieses @g am ende entfernen kann?
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
![](https://images.gutefrage.net/media/user/Erzesel/1497339133085_nmmslarge__0_524_1080_1080_4b38ff31970de3b94deb6a27ca8a8f01.jpg?v=1497339133000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
bat, Batch, cmd
wenn ich das recht verstanden habe sieht Deine "data.txt etwa so aus:
Franz Meier@g
Hotzenplotz@g
Franz@g
Auch egal wenn was anderes kommm@blah&blub
oder sonstwas@blub.com
Max&Klärchen@eimer.de
(ich habe mir erlaubt zu Demonstrationszwecken auch andere Sachen dem @-Zeichen folgen zu lassen.)
demo.cmd
@echo off
>"newdata.txt" (call ) &rem entfernt den evtl. vorhandenen Inhalt der Zieldatei.
for /f "usebackq tokens=1 delims=@" %%a in ("data.txt") do ( >>"newdata.txt" echo %%a)
kleine Erklärung:
- usebackq erlaubt die auch Verwendung von "Dateinamen mit Leerzeichen" im for/f-Header (einfach sicherer, wenn ein Nutzer mal die Kommandozeile für einen anderen Namen verwenden möchte😌)
- tokens=1 übergibt das 1 "Stück" der Zeile in %%a
- delims=@ (zer)teilt die Zeile mit dem Zeichen @
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Ich hätte da noch eine frage. Und zwar gibt es auch einen befehl, dass die alte Data file dann geleert wird sobald er die newdata erstellt? lg