CSV per Batch ändern
Hallo zusammen!
Ich brauche Eure Hilfe.
Ich möchte in einer .csv Datei zwei Felder in Zeile drei zu einem Feld machen.
Trennzeichen ist ein ";" Zeichen
Vorher:
KUNDEN; NR140; KD-Name ;
;;ArtikelBez ;
;;CH;8157;DIELSDORF;
Art.-Nr.;Bezeichnung;;ME;Listenpreis;;Rabatt in %;;Mengenrabatt;;Kd.-NettoPreis;;Kd.-Endpreis;TZ;TZ;;Kd.-Endpreis incl. TZ;
In Zeile 3, Feld 3, "Länderkennzeichen" und Zeile 3, Feld 4 "PLZ" sollen zu einem (Feld 4) mit Leerschritt gemacht werden.
Feld 3 soll dann leer sein.
Nachher:
KUNDEN; NR140; KD-Name ;
;;ArtikelBez ;
;;;CH 8157;DIELSDORF;
Art.-Nr.;Bezeichnung;;ME;Listenpreis;;Rabatt in %;;Mengenrabatt;;Kd.-NettoPreis;;Kd.-Endpreis;TZ;TZ;;Kd.-Endpreis incl. TZ;
Habt Ihr da vielleicht was für mich ?
Ich brauche Eure Hilfe.
Ich möchte in einer .csv Datei zwei Felder in Zeile drei zu einem Feld machen.
Trennzeichen ist ein ";" Zeichen
Vorher:
KUNDEN; NR140; KD-Name ;
;;ArtikelBez ;
;;CH;8157;DIELSDORF;
Art.-Nr.;Bezeichnung;;ME;Listenpreis;;Rabatt in %;;Mengenrabatt;;Kd.-NettoPreis;;Kd.-Endpreis;TZ;TZ;;Kd.-Endpreis incl. TZ;
In Zeile 3, Feld 3, "Länderkennzeichen" und Zeile 3, Feld 4 "PLZ" sollen zu einem (Feld 4) mit Leerschritt gemacht werden.
Feld 3 soll dann leer sein.
Nachher:
KUNDEN; NR140; KD-Name ;
;;ArtikelBez ;
;;;CH 8157;DIELSDORF;
Art.-Nr.;Bezeichnung;;ME;Listenpreis;;Rabatt in %;;Mengenrabatt;;Kd.-NettoPreis;;Kd.-Endpreis;TZ;TZ;;Kd.-Endpreis incl. TZ;
Habt Ihr da vielleicht was für mich ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 556495
Url: https://administrator.de/forum/csv-per-batch-aendern-556495.html
Ausgedruckt am: 04.04.2025 um 04:04 Uhr
2 Kommentare
Neuester Kommentar
Moin.
Folgendes funktioniert nur, sofern die Zellen 1&2 in Zeile 3 immer leer sind. Sollte dem nicht so sein, einfach noch mal melden.
PS: Bitte zukünftig auf die korrekte Forenkategorie achten. Die Frage gehört in "Batch & Shell", nicht in "Microsoft Office".
Gruß Thomas
Folgendes funktioniert nur, sofern die Zellen 1&2 in Zeile 3 immer leer sind. Sollte dem nicht so sein, einfach noch mal melden.
@echo off
SetLocal EnableDelayedExpansion
set Quelle=C:\PFAD\ZUR\QUELLDATEI.csv
set Ziel=C:\PFAD\ZUR\ZIELDATEI.csv
set count=0
for /f "Tokens=2 Skip=2 Delims=]" %%A in ('find /n /v "" "%Quelle%"') do (
set /a Count+=1
if "!count!" equ "3" (for /f "Tokens=1,2,* Delims=;" %%B in ("%%A") do echo ;;;%%B %%C;%%D) else (echo %%A)
) >> "%Ziel%"
PS: Bitte zukünftig auf die korrekte Forenkategorie achten. Die Frage gehört in "Batch & Shell", nicht in "Microsoft Office".
Gruß Thomas