batch_prog
Cadet 2nd Year
- Registriert
- März 2017
- Beiträge
- 27
Hallo,
vielleicht könntet Ihr mir helfen?
Angenommen eine CSV sieht wie folgt aus:
Es wäre doppelte / unsortierte Einträge vorhanden. Wie kann ich, bspw. nach der 1. Spalte sortieren, bevor ich mit einem Batch (s.u.) doppelte Einträge rauslösche?
vielleicht könntet Ihr mir helfen?
Angenommen eine CSV sieht wie folgt aus:
NR,NR1,NR2,NR3,NAME,VORNAME,PLZ,ORT,STRASSE,DATUM1,DATUM2,ARTIKELNAME,NR4,MENGE,TAXE,TAXE1,BRUTTO,TAXE3,NR5,NR6,NR7,
a,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
a,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
ab,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
ab,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
ac,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
ac,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
a,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
ab,b,c,d,MUSTERMANN,MAX,12345,MUSTERSTADT,MUSTERSTRAßE 1,17.03.2017,16.03.2017,ABC2,12345,12,19,20,23,250.00,123452,23,123,
Es wäre doppelte / unsortierte Einträge vorhanden. Wie kann ich, bspw. nach der 1. Spalte sortieren, bevor ich mit einem Batch (s.u.) doppelte Einträge rauslösche?
@echo off &setlocal
set "src=%userprofile%\Desktop\CSV\Exporte\quelle.csv"
set "dst=%userprofile%\Desktop\CSV\Exporte\zielohnedup-%DATE%.csv"
set "before="
setlocal EnableDelayedExpansion
<"!src!" >"!dst!" (
for /f %%i in ('type "!src!"^|find /c /v ""') do for /l %%j in (1 1 %%i) do (
set "ln=" &set /p "ln="
for /f "tokens=3 delims=," %%k in ("!ln!") do if "!before!" neq "%%k" (
echo(!ln!
set "before=%%k"
)
)
)
Zuletzt bearbeitet: