Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CSV mit for -f auswerten

Frage Entwicklung Batch & Shell

Mitglied: TunderEfx

TunderEfx (Level 1) - Jetzt verbinden

25.10.2011 um 22:25 Uhr, 3372 Aufrufe, 13 Kommentare

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 ??

Mit freundlichen Grüßen
Stefan
Mitglied: MisterExpulso
25.10.2011 um 22:34 Uhr
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
Bitte warten ..
Mitglied: TunderEfx
25.10.2011 um 22:45 Uhr
Hi DB,

hmm stimmt eigentlich o
aber du hasch hier jemand vor dir der mit batch eigntlich nix macht ;)
geht des mit for /f noch anderst ??
Bitte warten ..
Mitglied: bastla
25.10.2011 um 22:47 Uhr
Hallo TunderEfx und willkommen im Forum!

Die Frage ist doch eigentlich, was Du mit den Werten vorhast - das Zuweisen zu eigenen Variablen ist zumeist nicht nötig (Du hast ja ohnehin schon die Inhalte in den Schleifen-Variablen) ...

Grüße
bastla
Bitte warten ..
Mitglied: MisterExpulso
25.10.2011 um 22:50 Uhr
[OT]
@bastla
wollte ich gerade auch schreiben
[/OT]

Gruß,
DB
Bitte warten ..
Mitglied: TunderEfx
26.10.2011 um 13:19 Uhr
Hi DB & Bastla,

ich möchte die Werte aus dem CSV mit dsadd im Active Directory weiterverarbeiten

dsadd user ...
dsadd group ...

also User erstellen und Gruppe(n) zuordnen.
(AC,AD,FO stehen für Gruppen im CSV)

Deswegen brauch ich aus jeder Spalte die Werte und das dann Stück für Stück bis das CSV abgearbeitet ist.

Mit freundlichen Grüßen
Stefan
Bitte warten ..
Mitglied: bastla
26.10.2011 um 17:18 Uhr
Hallo TunderEfx!
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:
01.
For /F "tokens=1-6 usebackq delims=; " %%i in ("c:\test\test1.csv") do ( 
02.
    echo dsadd user CN=%%k,CN=Users,DC=Widgets,DC=Contoso,DC=Com -samid %%k -fn "%%i" -ln "%%j" 
03.
)
Grüße
bastla
Bitte warten ..
Mitglied: TunderEfx
26.10.2011 um 17:27 Uhr
Danke Bastla,

des GEHHTTTT !!!!!!!

Danke schön
Bitte warten ..
Mitglied: TunderEfx
26.10.2011 um 17:29 Uhr
genau in die richtung soll es gehen, haben hier immer listen mit ca. 50-80 user
die mit der hand erstellen, da wirste irre mit der zeit.
Bitte warten ..
Mitglied: 60730
26.10.2011 um 17:47 Uhr
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...
Bitte warten ..
Mitglied: TunderEfx
07.11.2011 um 09:57 Uhr
hi, leider nein abe ich sehe mal nach
Bitte warten ..
Mitglied: TunderEfx
07.11.2011 um 10:07 Uhr
ja hilft mir leider nicht ganz, aber danke für den tip
Bitte warten ..
Mitglied: TunderEfx
07.11.2011 um 10:41 Uhr
Hi Bastla,

eine Frage hab ich noch.
Ich bekomme unten in den Spalten AC, AD,BO usw. entwerder einen - oder ein x (X) zurück.
Mit dsmod group Ordne ich die User in die Domänen Lokalen Gruppen zu.

Hab mir dann gedacht machste es mit if %%g== - oder x.
Wenn ein - kommt soll er zum nächsten weitergehen in dem Fall :H

Aber nach dem :H steht in %%h kein Wert mehr !?

REM Username;Vorname;Name;Passwort;PC Name;Master OU;AC;AD;BO;BQ;FB;FO;HK;HR;KI;MGMT;PU;RV;SA;TC;
REM a b c d e f g h i j k l m n o p q r s t
For /F "tokens=1-20 usebackq delims=; " %%a in ("%UserList%") do (

if %%g==- goto H
if %%g==x set AC=Accounting
if %%g==X set AC=Accounting
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"


:H
if %%h==- goto I
if %%h==x set AD=Administration
if %%h==X set AD=Administration
dsmod group CN=ContosoDL_%AD%,OU=%AD%,OU=Users,DC=Widgets,DC=Contoso,DC=Com -addmbr CN=%%a,OU=%AD%,OU=Users,DC=Widgets,DC=Contoso,DC=Com"


:I
usw. .........
)
Bitte warten ..
Mitglied: bastla
07.11.2011 um 12:32 Uhr
Hallo TunderEfx!

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"
oder, wenn Du weiterhin die Variablen verwenden möchtest, zB
01.
set "AC=" 
02.
if /i "%%g"=="x" set "AC=Accounting" 
03.
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" 
04.
 
05.
set "AD=" 
06.
...
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst CSV Dateien auswerten mit Script (8)

Frage von Crank69 zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
CSV Stapelverarbeitung mit Filterfunktion für große Datenmengen (8)

Frage von Rippchen zum Thema Batch & Shell ...

Batch & Shell
gelöst 2 Csv -Dateien zum Teil zusammenfügen (6)

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (22)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (19)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...