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

Frage Entwicklung Batch & Shell

Mitglied: flo7689

flo7689 (Level 1) - Jetzt verbinden

29.07.2010 um 19:00 Uhr, 5675 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
XML
gelöst Xml-Datei in eine csv-Datei umwandeln mit Powershell (5)

Frage von jan.kleinel zum Thema XML ...

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

Frage von nolle99 zum Thema Batch & Shell ...

Datenbanken
Access 2016 vertauscht Monat und Tag in meiner CSV Datei (1)

Frage von iGordon zum Thema Datenbanken ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (15)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

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

Netzwerke
VLAN Verständnissproblem (9)

Frage von Dragan123 zum Thema Netzwerke ...