CSV mit for -f auswerten
Hallo Leute,
die Frage ist sicherlich schon X mal da gewesen.
Da ich aber mit Programiersprachen nix am Hut habe bin ich auf eure Hilfe angewiesen.
Vielen Dank im Voraus
Ich habe eine csv Datei mit vollgenden Inhalt unter c:\test\test1.csv
Inhalt:
Erklärung -> Vorname;Name;ADDirectory;AC;AD;FO
Andreas;Meier;ameier;-;x;x;
Thomas;Huber;thuber;-;x;-;
Michael;Birau;mbirau;-;-;x;
Ich benötige jeden einzelnen Wert pro Spalte.
Also
Andreas
Meier
usw.
Ich habe mal so angefangen
For /F "tokens=1-6 usebackq delims=; " %%i in (c:\test\test1.csv) do @(
@set name=%%i
@set nachname=%%j
@set adname=%%k
@set ac=%%l
@set ad=%%m
@set fo=%%n )
ABER es wird so nicht jede einzelne Spalte aufgelöst sonder nur immer die Letzte, in diesem Fall -> Michael;Birau;mbirau;-;-;x;
Ich benötige aber jede nacheinander !?
Hat einer ein Idee ??
mfg
Stefan
die Frage ist sicherlich schon X mal da gewesen.
Da ich aber mit Programiersprachen nix am Hut habe bin ich auf eure Hilfe angewiesen.
Vielen Dank im Voraus
Ich habe eine csv Datei mit vollgenden Inhalt unter c:\test\test1.csv
Inhalt:
Erklärung -> Vorname;Name;ADDirectory;AC;AD;FO
Andreas;Meier;ameier;-;x;x;
Thomas;Huber;thuber;-;x;-;
Michael;Birau;mbirau;-;-;x;
Ich benötige jeden einzelnen Wert pro Spalte.
Also
Andreas
Meier
usw.
Ich habe mal so angefangen
For /F "tokens=1-6 usebackq delims=; " %%i in (c:\test\test1.csv) do @(
@set name=%%i
@set nachname=%%j
@set adname=%%k
@set ac=%%l
@set ad=%%m
@set fo=%%n )
ABER es wird so nicht jede einzelne Spalte aufgelöst sonder nur immer die Letzte, in diesem Fall -> Michael;Birau;mbirau;-;-;x;
Ich benötige aber jede nacheinander !?
Hat einer ein Idee ??
mfg
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175284
Url: https://administrator.de/contentid/175284
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
13 Kommentare
Neuester Kommentar
Moin Stefan,
wann prüfst du denn, was in der Variablen steht?
Nach der For-Schleife?
Dann ist logischerweise nur noch der letzte Wert gespeichert, da mit jedem Schleifendurchlauf der bisherige Variablenwert überschrieben wird.
Gruß,
DB
wann prüfst du denn, was in der Variablen steht?
Nach der For-Schleife?
Dann ist logischerweise nur noch der letzte Wert gespeichert, da mit jedem Schleifendurchlauf der bisherige Variablenwert überschrieben wird.
Gruß,
DB
Hallo TunderEfx!
Grüße
bastla
Deswegen brauch ich aus jeder Spalte die Werte und das dann Stück für Stück bis das CSV abgearbeitet ist.
... und genau das hast Du anhand der Schleifenvariablen - als Demo:For /F "tokens=1-6 usebackq delims=; " %%i in ("c:\test\test1.csv") do (
echo dsadd user CN=%%k,CN=Users,DC=Widgets,DC=Contoso,DC=Com -samid %%k -fn "%%i" -ln "%%j"
)
bastla
moin,
du weißt aber schon, dass der symbadische Marktführer mithilfe seiner Haarfarbe nicht näher beschriebenen Praktikanten da so ein tolles Tool namens
CSVDE zusammengebraten hat, das haarfarbe unbestimmt genau für diesen jenen Zweck gedacht ist?
Frag ja nur...
du weißt aber schon, dass der symbadische Marktführer mithilfe seiner Haarfarbe nicht näher beschriebenen Praktikanten da so ein tolles Tool namens
CSVDE zusammengebraten hat, das haarfarbe unbestimmt genau für diesen jenen Zweck gedacht ist?
Frag ja nur...
Hallo TunderEfx!
Wenn nur bei "x" oder "X" das Hinzufügen zur Gruppe erfolgen soll, genügt doch (ganz ohne Sprung):
oder, wenn Du weiterhin die Variablen verwenden möchtest, zB
Grüße
bastla
Wenn nur bei "x" oder "X" das Hinzufügen zur Gruppe erfolgen soll, genügt doch (ganz ohne Sprung):
if /i "%%g"=="x" dsmod group CN=DomänenDL_Accounting,OU=Accounting,OU=Users,DC=Widgets,DC=Contoso,DC=Com -addmbr CN=%%a,OU=Accounting,OU=Users,DC=Widgets,DC=Contoso,DC=Com"
set "AC="
if /i "%%g"=="x" set "AC=Accounting"
if defined AC dsmod group CN=DomänenDL_%AC%,OU=%AC%,OU=Users,DC=Widgets,DC=Contoso,DC=Com -addmbr CN=%%a,OU=%AC%,OU=Users,DC=Widgets,DC=Contoso,DC=Com"
set "AD="
...
bastla