offline
Goto Top

csv-Datei per Batch in einzelne variablen zerlegen

Hallo Leute,

ich suche ein Batch-Skript, welches mir eine csv-Datei einliest. In dieser Datei sind 12 Spalten und einige 100 Zeilen. Die Spalten sind durch ; getrennt. Mein Ziel ist es zu jedem Datensatz einen Befehl in einer Schleife auszuführen. Dabei soll jede der Spalten als eine Variable verfügbar sein. Also am einfachsten erstmal echo %Var1 %Var2 ...

Hat jemand schonmal sowas gemacht, oder kann mir einen tipp geben?

Content-ID: 77671

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

Ausgedruckt am: 20.11.2024 um 06:11 Uhr

pacobay
pacobay 09.01.2008 um 16:05:27 Uhr
Goto Top
Hey offline,
ginge auch vbs?
ciao pacobay
miniversum
miniversum 09.01.2008 um 16:37:19 Uhr
Goto Top
Meinst du so?
@echo off
FOR /F "tokens=1-12 delims=;" %%a in (Mappe1.csv) do call:setit "%%a" "%%b" "%%c" "%%d" "%%e" "%%f" "%%g" "%%h" "%%i" "%%j" "%%k" "%%l"  
goto:eof

:setit
set var1=%~1
set var2=%~2
set var3=%~3
set var4=%~4
set var5=%~5
set var6=%~6
set var7=%~7
set var8=%~8
set var9=%~9
shift
set var10=%~9
shift
set var11=%~9
shift
set var12=%~9

echo %var1% %var2% %var3% %var4% %var5% %var6% %var7% %var8% %var9% %var10% %var11% %var12%
goto:eof
miniversum
OFFLINE
OFFLINE 09.01.2008 um 16:42:09 Uhr
Goto Top
Hallo miniversum,

danke für die schnelle antwort.
ich habe es noch etwas abgeändert. jetzt habe ich mein gewünschtes ergebnis:
FOR /F "eol=# tokens=1-12 delims=;" %%1 IN (temp.csv) DO echo %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9 %%10 %%11 %%12
bastla
bastla 09.01.2008 um 17:05:30 Uhr
Goto Top
Hallo OFFLINE!

Falls es doch nicht ganz das gewünschte Ergebnis sein sollte, dann so:
FOR /F "eol=# tokens=1-12 delims=;" %%a IN (12.csv) DO echo %%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l  

Grüße
bastla