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
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
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