Batch um Ordnerstruktur samt Unterordner zu erstellen
Hallo zusammen
Ich brauche ein Batchfile um folgende Ordner zu erstellen:
-2006
-2007
--01
--02
--03
--04
-- ...
-2008
- ...
-2017
Also 2006-20017 mit jeweils 12 Ordner 01-12 drin!
Wie mache ich das am besten?
Ich brauche ein Batchfile um folgende Ordner zu erstellen:
-2006
-2007
--01
--02
--03
--04
-- ...
-2008
- ...
-2017
Also 2006-20017 mit jeweils 12 Ordner 01-12 drin!
Wie mache ich das am besten?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 73407
Url: https://administrator.de/contentid/73407
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
7 Kommentare
Neuester Kommentar
Moin tob1as,
Dann also vom CMD-Prompt aus:
Falls Du es vorher lieber erst testen willst:
Grüße
Biber
P.S. Verzeichnisse in Zählschleifen anzulegen ist reizvoll, aber ich habe auch schon mal einen Verzeichnisstruktur-Anlegen-Batch geschrieben, der 24 Tage lang gelaufen ist (unter Win2000) und 4 GByte an (leeren) Verzeichnissen angelegt hat.
Bei Win XP war übrigens eher (vor Ende des Batches) Feierabend.
Also 2006-20017 mit jeweils 12 Ordner 01-12 drin!
Tja, wenn Du meinst, so langfristig planen zu müssen...Dann also vom CMD-Prompt aus:
>for /l %i in (2006,1,20017) do @for /l %j in (1,1,12) do @if %j LEQ 9 (md %i\0%j) ELSE md %i\%j
Falls Du es vorher lieber erst testen willst:
>for /l %i in (2006,1,20017) do @for /l %j in (1,1,12) do @if %j LEQ 9 (@echo md %i\0%j) ELSE @echo md %i\%j
Grüße
Biber
P.S. Verzeichnisse in Zählschleifen anzulegen ist reizvoll, aber ich habe auch schon mal einen Verzeichnisstruktur-Anlegen-Batch geschrieben, der 24 Tage lang gelaufen ist (unter Win2000) und 4 GByte an (leeren) Verzeichnissen angelegt hat.
Bei Win XP war übrigens eher (vor Ende des Batches) Feierabend.
Moin tob1as,
hast Du es jetzt zum Fliegen bekommen?
Nicht dass ich dich verwirrt habe - bin sprachlich nicht so gewandt.
Diese Zeile müsstest Du in ein geöffnetes CMD-Fenster per Copy&Paste übernehmen können, um ein poc zu machen:
[ich habe es geändert - jetzt werden nur 2006 und 2007 abgefackelt. Ist aber fürs Prinzip egal.]
Grüße
Biber
hast Du es jetzt zum Fliegen bekommen?
Nicht dass ich dich verwirrt habe - bin sprachlich nicht so gewandt.
Diese Zeile müsstest Du in ein geöffnetes CMD-Fenster per Copy&Paste übernehmen können, um ein poc zu machen:
for /l %i in (2006,1,2007) do @for /l %j in (1,1,12) do @if %j LEQ 9 (@echo md %i\0%j) ELSE @echo md %i\%j
Grüße
Biber
Moin tob1as,
zu "poc": neudeutsch=proof of concept=um zu sehen, ob es funktioniert.
zu "was muss ich im Batch ändern":
Nur alle am CMD-Prompt einfachen Prozentzeichen vor den Zählvariablen verdoppeln/durch zwei Prozentzeichen ersetzen.
Am CMD-Prompt (poc, also mit @echo whatcmdever statt whatcmdever:
Im Batch , poc:
Im Batch, scharfe Version:
Grüße
Biber
zu "poc": neudeutsch=proof of concept=um zu sehen, ob es funktioniert.
zu "was muss ich im Batch ändern":
Nur alle am CMD-Prompt einfachen Prozentzeichen vor den Zählvariablen verdoppeln/durch zwei Prozentzeichen ersetzen.
Am CMD-Prompt (poc, also mit @echo whatcmdever statt whatcmdever:
for /l %i in (2006,1,2007) do @for /l %j in (1,1,12) do @if %j LEQ 9 (@echo md %i\0%j) ELSE @echo md %i\%j
Im Batch , poc:
@echo off
FOR /L %%i in (2006,1,2007) do @for /l %%j in (1,1,12) do (
if %%j LEQ 9 (@echo md %%i\0%%j) ELSE @echo md %%i\%%j
)
Im Batch, scharfe Version:
@echo off
FOR /L %%i in (2006,1,2017) do @for /l %%j in (1,1,12) do (
if %%j LEQ 9 (md %%i\0%%j) ELSE md %%i\%%j
)
Grüße
Biber