Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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-Datei via Batch abarbeiten

Frage Entwicklung Batch & Shell

Mitglied: flo7689

flo7689 (Level 1) - Jetzt verbinden

29.07.2010 um 19:00 Uhr, 5699 Aufrufe, 2 Kommentare

Halli hallo hallöle zusammen,

leider versagen meine Batch-Kenntnisse bei folgendem Problem... Deshalb hoffe ich mal, dass ihr mir helfen könnt!

Ich habe eine CSV-Datei in der eine Zahl und ein Name steht (pro Zeile).
Also so:
01.
12345;Klaus 
02.
54321;Franz 
03.
98754;Emil 
04.
...
Nun möchte ich anhand von den Namen in dieser CSV-Datei einige Ordner anlegen und das automatisch und für die komplette CSV-Datei.

Folgenden Code habe ich schon:

01.
@echo off & setlocal 
02.
 
03.
rem CSV und Delimiter setzen 
04.
set "liste=D:\test\namen.csv" 
05.
set "Delim=;" 
06.
 
07.
rem Nummer abfragen 
08.
set /p Eingabe=nr:  
09.
if not defined Eingabe (echo Es wurde kein Datensatz gefunden! & pause & goto :eof) 
10.
 
11.
rem Nummer und Name in Variablen speichern 
12.
set nr= 
13.
for /f "tokens=1-2 delims=%Delim%" %%a in ('findstr /b /i /c:"%Eingabe%%Delim%" "%liste%"') do ( 
14.
    set "nr=%%a" 
15.
    set "name=%%b" 
16.
17.
 
18.
rem Fehler-Code 
19.
if not defined nr (echo Die Nummer "%Eingabe%" wurde nicht gefunden! & pause & goto :eof) 
20.
 
21.
rem Aktion: 
22.
mkdir %nr%_%name% 
23.
echo "%nr%_%name%" wurde erfolgreich angelegt! 
24.
 
25.
pause
Allerdings muss ich nun jede Nummer manuell eingeben, dann folgt die Überprüfung und dann wird der entsprechende Ordner angelegt.
Daher die Frage: Wie kann ich das ganze mit einer FOR-Schleife (?) automatisieren, dass für jeden Eintrag in der CSV-Datei ein Ordner angelegt wird?

Vielen Dank schon einmal für eure Hilfe!
Grüße
Flo
Mitglied: bastla
29.07.2010 um 19:17 Uhr
Hallo flo7689!

Du hattest in Deinem Ansatz ja schon alles Wesentliche - eine Reduktion auf selbiges könnte daher so aussehen:
01.
@echo off & setlocal 
02.
 
03.
rem CSV und Delimiter setzen 
04.
set "liste=D:\test\namen.csv" 
05.
set "Delim=;" 
06.
 
07.
for /f "usebackq tokens=1-2 delims=%Delim%" %%a in ("%liste%") do ( 
08.
    md "%%a_%%b" 
09.
    echo "%%a_%%b" wurde erfolgreich angelegt! 
10.
11.
pause
Kurze Anmerkung zur "for"-Schleife: mit "usebackq" kannst Du den Dateipfad unter Anführungszeichen angeben (ohne "usebackq" würde er als zu zerlegender einzeiliger Text interpretiert) ...

Grüße
bastla
Bitte warten ..
Mitglied: flo7689
29.07.2010 um 19:28 Uhr
Hey bastla,

super, vielen Dank! Funktioniert super!
Danke!

Gruß
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateien aus CSV mit Batch suchen (5)

Frage von joes1609 zum Thema Batch & Shell ...

Windows Server
gelöst PowerShell Inhalt einer csv Datei löschen (4)

Frage von makaroni zum Thema Windows Server ...

Batch & Shell
Batch zum bearbeiten mehrerer CSV (3)

Frage von Matzus87 zum Thema Batch & Shell ...

Batch & Shell
XML in CSV bat batch powershell (9)

Frage von nolle99 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (23)

Frage von jensgebken zum Thema Windows Server ...

Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (17)

Frage von ahstax zum Thema Visual Studio ...