fmairhoff
Goto Top

Vergleich von 2 CSV Dateien und Schreiben der Differenz in neue CSV Datei mit batch (cmd)

Hallo zusammen,

ich habe das Problem das ich immer wieder 2 Dateien bekommen mit Sensordaten

01_AA_1bin_bma_OLD.csv
sensor_id,sqn,mcu_timestamp,bma_accel_x,bma_accel_y,bma_accel_z,bma_temp,RealTimestamp
6,0,1554376149,93,65,4334,0,2019-04-04 13:09:09
6,1,1554376149,89,61,4334,0,2019-04-04 13:09:09
6,2,1554376150,93,61,4330,0,2019-04-04 13:09:10

02_AA_1bin_bma_NEW.csv
sensor_id,sqn,mcu_timestamp,bma_accel_x,bma_accel_y,bma_accel_z,bma_temp,RealTimestamp
6,0,1554376149,93,65,4334,0,2019-04-04 13:09:09
6,1,1554376149,89,61,4334,0,2019-04-04 13:09:09
6,2,1554376150,93,61,4330,0,2019-04-04 13:09:10
6,3,1554376150,76,49,4323,0,2019-04-04 13:09:10
6,4,1554376150,199,62,4337,0,2019-04-04 13:09:10
6,5,1554376150,131,78,4330,0,2019-04-04 13:09:10
6,6,1554376150,85,71,4334,0,2019-04-04 13:09:10
6,7,1554376150,105,67,4332,0,2019-04-04 13:09:10
6,8,1554376150,97,65,4332,0,2019-04-04 13:09:10

und dann eine Neue Datei erstellen muss die so Aussieht die nur die Differenzdaten enthält für die Auswertung

03_AA_1.bin_bma_DIFF.csv
sensor_id,sqn,mcu_timestamp,bma_accel_x,bma_accel_y,bma_accel_z,bma_temp,RealTimestamp
6,3,1554376150,76,49,4323,0,2019-04-04 13:09:10
6,4,1554376150,199,62,4337,0,2019-04-04 13:09:10
6,5,1554376150,131,78,4330,0,2019-04-04 13:09:10
6,6,1554376150,85,71,4334,0,2019-04-04 13:09:10
6,7,1554376150,105,67,4332,0,2019-04-04 13:09:10
6,8,1554376150,97,65,4332,0,2019-04-04 13:09:10

Gibt es eine Batch cmd command damit ich das abwickeln kann und einfach dann eine neue Datei erstelle?

Im VB gibt es ja String comparision- gibt es das für cmd auch


Danke euch für die Hilfe

Content-Key: 442847

Url: https://administrator.de/contentid/442847

Printed on: April 23, 2024 at 19:04 o'clock

Mitglied: 139374
139374 Apr 19, 2019 updated at 17:55:57 (UTC)
Goto Top
Gibt es eine Batch cmd command damit ich das abwickeln kann und einfach dann eine neue Datei erstelle?
Easy... auch wenn ich das ganze gleich mit der PS abfackeln würde...hier trotzdem noch in Batch integriert:
@echo off
set "file1=d:\03_AA_1.bin_bma_OLD.csv"  
set "file2=d:\03_AA_1.bin_bma_NEW.csv"  
set "fileDiff=d:\03_AA_1.bin_bma_DIFF.csv"  
Powershell -ExecutionPolicy Bypass -NoP -C "compare (gc '%file1%') (gc '%file2%') -Passthru | ?{$_.SideIndicator -eq '=>'} | sc '%fileDiff%'"  

Sonnigen Car-Friday.
Member: Crusher79
Crusher79 Apr 19, 2019 at 17:46:11 (UTC)
Goto Top
Hallo,

Oha, Batch + Powershell. Eleganter wäre alles mit PS zu machen.

und dann scheitert es ggf. am Bypass. Powershell. Würde im Unternehmen mich kurz auch mit der Signierung auseiander setzen. Dauert nicht lange. Dann bekommt man auch bei AllSigned keinen schrecken.

Signieren kann man auch mit Powershell. Drückt ein dutzend Dateien in ein paar Sekunden durch und Ruhe ist.

mfg Crusher
Mitglied: 139374
139374 Apr 19, 2019 updated at 17:56:52 (UTC)
Goto Top
Zitat von @Crusher79:
Oha, Batch + Powershell. Eleganter wäre alles mit PS zu machen.
Meine Rede, mach das aber erst mal den Batchies hier klar 😁. Da ist die Mehrzahl die hier mit Batch ankommt eher sehr schwer zu überreden, vermutlich alles Azubis denen man die Powershell gesperrt hat.
Ist eher als Softi-Einstieg gedacht um Lust auf mehr zu machen 😉.