easyeyesystem
Goto Top

Fehler For Schleife

Hallo

ich habe ein Problem mit meiner For Schleife

Hier die CSV Datei:
|Peter|Maier|HDueee32ds|123|02/02/03|System|
|Mustermann|Max|FuedgfGiodje|234|02/02/03|System|

und nun noch der Code für die Schleife
for /F "tokens=1-7 delims=|" %%i in (example.csv) do (  
call :importdata %%i %%j %%k %%l %%m %%n 
)

jedoch ließt das Script die CSV Datei falsch ein

Name: "Peter-Maier"  
 
Name: Peter

Name: "Mustermann-Max"  

Name: Mustermann

Wo denke ich hier falsch?

Content-ID: 92977

Url: https://administrator.de/forum/fehler-for-schleife-92977.html

Ausgedruckt am: 23.12.2024 um 18:12 Uhr

Dynadrate
Dynadrate 26.07.2008 um 19:23:25 Uhr
Goto Top
Ich habe gerade mal folgendes ausgeführt:
C:\>for /F "tokens=1-7 delims=|" %i in ("|Peter|Maier|HDueee32ds|123|02/02/03|System|") do (echo %i)  

Ausgabe:
C:\>(echo Peter )
Peter

und:
C:\>for /F "tokens=1-7 delims=|" %i in ("|Peter|Maier|HDueee32ds|123|02/02/03|System|") do (echo %j)  
Ausgabe:

C:\>(echo Maier )
Maier

Das scheinen ja die korrekten Werte zu sein. Von daher gehe ich davon aus, das ":importdata" Schuld hat!
EasyEyeSystem
EasyEyeSystem 26.07.2008 um 19:40:13 Uhr
Goto Top
ok dann hab ich nen denkfehler drin
hab die csv datei gerade eben etwas angepasst:
Peter;Maier;HDueee32ds;123;01-02-34;System
Mustermann;Max;FuedgfGiodje;234;01-02-03;System
das :importdata wertet nur diese werte aus
%%i %%j %%k %%l %%m %%n 
und daran sollte übergeben werden
i=Peter
j=Maier
k=HD....
l=123
m=01-02-34
n=System
und dann beim nächsten durchgang der schleige
i=Mustermann
j=Max
k=Fue....
l=234
m=01-02-03
n=System

Jetzt bin ich ja mal gespannt wo hier mein Denkfehler ist
67369
67369 26.07.2008 um 19:54:07 Uhr
Goto Top
Wieviel Tokens zählst du denn in deinem Beispiel?
EasyEyeSystem
EasyEyeSystem 26.07.2008 um 20:07:35 Uhr
Goto Top
in dem aktuellen hab ich 6 Stück angegebn - Hab ich evtl. hier meinen denkfehler?

Danke schon mal
67369
67369 26.07.2008 um 20:09:15 Uhr
Goto Top
Nee, es sind ja auch nur 6. Oben hattest du aber 1-7 angegeben. face-wink

Vielleicht postest du einfach mal das komplette Script, zumindest die Teile, die aufgerufen werden. Oder unterliegt der Inhalt strengster Geheimhaltung?
EasyEyeSystem
EasyEyeSystem 26.07.2008 um 21:03:16 Uhr
Goto Top
natürlich nicht

hier ist es

@echo off
echo starting ...	

for /F "tokens=1,2,3,4,5,6 delims=;" %%i in (example.csv) do (  
call :importdata %%i %%j %%k %%l %%m %%n 
)
echo.
echo.
echo --- All Operations done ---
echo.
pause
exit

:importdata
set fname=%1
set lname=%2
set password=%3
set id=%4
set room=%5
set title=%6
echo  "%fname%" "%lname%" "%password%" "%id%" "%room%" "%title%"  
goto :EOF

und die csv
Peter;Maier;HDueee32ds;123;01-02-34;System
Mustermann;Max;FuedgfGiodje;234;01-02-03;System
67369
67369 26.07.2008 um 21:16:16 Uhr
Goto Top
Die Ausgabe ist doch völlig korrekt, die Variablen werden so angelegt, wie sie von der Textdatei ausgelesen werden.
EasyEyeSystem
EasyEyeSystem 26.07.2008 um 21:25:38 Uhr
Goto Top
Habs mal auf nem andern Computer ausgeführt.

Da läuft es wirklich.

Was da ist weiß ich noch nicht.

Sobald ich was weiß poste ich es.

Danke noch mal.