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

Batch: Ordnerstruktur mit Hilfe einer .txt erstellen

Frage Entwicklung Batch & Shell

Mitglied: snax123

snax123 (Level 1) - Jetzt verbinden

23.02.2015 um 00:13 Uhr, 1077 Aufrufe, 5 Kommentare

Hallo,

Ich versuche grad eine Batch Programm zu schreiben, das eine CSV/TXT Datei liest und dann dazu passend Ordner erstellt. Leider hab ich noch nie mit Batch gearbeitet und hab so meine Probleme damit.

Die Datei sieht etwa so aus:

Ordner1;Ordner12;Ordner13;Ordner14;
Ordner2;Ordner22;Ordner23;Ordner24;
Ordner3;Ordner32;Ordner33;Ordner34;
usw.

Die Ordnernamen können auch Leerzeichen enthalten.

Das Programm soll mir folgende Struktur anlegen:
Ordner1
->Ordner12
-->Ordner13
--->Ordner14
Ordner2
->Ordner22
-->Ordner23
usw.




So schaut mein Programm bis jetzt aus:


@echo off
FOR /F "tokens=* delims=;" %%i in (Ordner.txt) do call :loop %%i
:loop
mkdir %1
cd %1
mkdir %2
cd %2
mkdir %3
cd %3
mkdir %4
pause



Ergebniss:
Ordner1
->Ordner12
-->Ordner13
--->Ordner14


Liest also nur die erste Zeile aus. Wie krieg ich es dazu alle Zeilen auszulesen, wenn ich nicht weiß wieviele es sind?

Danke!
Mitglied: rubberman
23.02.2015 um 00:46 Uhr
Hallo snax123, willkommen im Forum.

MD alias MKDIR ist durchaus in der Lage ganze Ordnerstrukturen auf einmal anzulegen. Lies also einfach zeilenweise und ersetze die Semikola durch Backslashes.
Ungetestet:
01.
@echo off &setlocal 
02.
for /f "usebackq delims=" %%i in ("Ordner.txt") do ( 
03.
  set "line=%%i" 
04.
  setlocal EnableDelayedExpansion 
05.
  mkdir "!line:;=\!" 
06.
  endlocal 
07.
)
Grüße
rubberman
Bitte warten ..
Mitglied: snax123
23.02.2015 um 06:54 Uhr
Hallo!

Danke für die Antwort. Die .txt Datei zum testen hab ich etwas vereinfacht. Die Reihenfolge der Ordner und der Anordnung in der .txt Datei kann unterschiedlich sein. Könnte z.B. so aussehen:

Ordner1;Ordner14;Ordner12;Kein Ordner Anlegen;Ordner13;
Ordner2;Ordner24;Ordner22;Kein Ordner Anlegen;Ordner23;
Ordner3;Ordner34;Ordner32;Kein Ordner Anlegen;Ordner33;

Im moment ändere ich eine die Tokenauswahl "x%", z.b.

mkdir %1
cd %1
mkdir %3
cd %3
mkdir %5
cd %5
...

Ich weiß ob oder wie das bei deiner Methode möglich wär.
Bitte warten ..
Mitglied: Endoro
23.02.2015 um 08:46 Uhr
Hey,
da steht doch sicher nicht überall "Kein Ordner Anlegen" in der csv, oder? Und ist es immer die 4. Spalte mit dem "Nicht-Ordner-Text"? Wie kann die Batch feststellen, ob ein Feldwert Teil vom Ordnernamen ist oder nicht? Bitte realistische Beispieldaten liefern, Platzhalter reichen nicht.
Gruß, Endoro
Bitte warten ..
Mitglied: rubberman
23.02.2015 um 08:56 Uhr
Hallo snax123.

Ordner1;Ordner14;Ordner12;Kein Ordner Anlegen;Ordner13;
Also Tokens 1,2,3 und 5?
01.
@echo off &setlocal 
02.
for /f "usebackq tokens=1,2,3,5 delims=;" %%i in ("Ordner.txt") do ( 
03.
  set "line=%%i\%%j\%%k\%%l" 
04.
  setlocal EnableDelayedExpansion 
05.
  mkdir "!line!" 
06.
  endlocal 
07.
)
Grüße
rubberman
Bitte warten ..
Mitglied: snax123
24.02.2015 um 10:08 Uhr
Danke für die Antorten, hat mir sehr weitergeholfen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordnerstruktur aus Playlist per Batch wiederherstellen (4)

Frage von Mooswitz zum Thema Batch & Shell ...

Rechtliche Fragen
gelöst Vernatwortlichkeit Ordnerstruktur (5)

Frage von Peterz zum Thema Rechtliche Fragen ...

Batch & Shell
gelöst Vorhandene TXT per Batch aktualisieren (6)

Frage von kampen 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
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
Starker PC zum Virtualisieren (10)

Frage von canlot zum Thema Server-Hardware ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (10)

Frage von Paderman zum Thema Server-Hardware ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...