branpo
Goto Top

Teile eines Dateinamens einer CSV per Batch in die CSV schreiben

Guten Abend,

ich muss in eine bestehende CSV Teile des Dateinamens einfügen und scheitere leider daran.

die ursprüngliche CSV ist folgendermaßen aufgebaut:


10/16/18,20.25,20.4,17.58,17.675,-2.45,80992,0

in der csv wird dann der 1., die 5., die 7, und die 8, nach dem Komma benutzt die erste und allerletzte Zeile werden gelöscht da ich diese nicht mehr brauche.

dies geschieht mit folgendem code:
For %%F in (*.csv) do (, (for /f "skip=1 tokens=1,5,7,8 delims=," %%A in ('findstr /v "Dow" %%F') do @echo %%A,%%B,%%C,%%D ) > "%~dp0%%~nF_fixed.csv", )  

dann steht noch
10/16/18,17.675,80992,0
in der CSV.
Soweit so gut.
Jetzt kommt das Problem an dem ich scheitere:

das CSV File heißt z.B. abc05_asgasgasg.csv
nun hätte ich gerne das in die CSV Teile des Dateinamens eingefügt werden und zwar der 1. und der 2. Buchstabe dann die beiden Zahlen an Stelle 4 und 5 und zuletzt der 3. Buchstabe.

sprich in der CSV sollte nachher stehen:
10/16/18,17.675,80992,0,ab05c

Könnte ihr mir da jemand helfen?

Content-ID: 502178

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

Ausgedruckt am: 23.11.2024 um 14:11 Uhr

Friemler
Friemler 07.10.2019 um 20:53:40 Uhr
Goto Top
Hallo @Branpo,

Du könntest alle Buchstaben von a bis z und die Ziffern 0 bis 9 als Delimiter definieren. Du kannst das auch einer Variable Delimiters zuweisen und die Trennzeichen mit delims=%Delimiters% definieren. Dann kannst Du den Dateinamen mit tokens=1-5 zerlegen und neu zusammensetzen (z.B. mit %%a%%b%%d%%e%%c).

Grüße
Friemler