Batch: Ordnerstruktur mit Hilfe einer .txt erstellen
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!
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!
Please also mark the comments that contributed to the solution of the article
Content-Key: 264235
Url: https://administrator.de/contentid/264235
Printed on: April 18, 2024 at 04:04 o'clock
5 Comments
Latest comment
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:
Grüße
rubberman
MD alias MKDIR ist durchaus in der Lage ganze Ordnerstrukturen auf einmal anzulegen. Lies also einfach zeilenweise und ersetze die Semikola durch Backslashes.
Ungetestet:
@echo off &setlocal
for /f "usebackq delims=" %%i in ("Ordner.txt") do (
set "line=%%i"
setlocal EnableDelayedExpansion
mkdir "!line:;=\!"
endlocal
)
rubberman
Hey,
da steht doch sicher nicht überall "
Gruß, Endoro
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