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, 5683 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
PowerShell Inhalt einer csv Datei löschen (3)

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
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (21)

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

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (12)

Frage von alemanne21 zum Thema Webentwicklung ...