Ordner erstellen - nummeriert
Hallo,
ich möchte gerne Tagesordner für einen ganzen Monat erstellen: 06-10-01 bis 06-10-31. In jeden Ordner soll dann noch ein Unterordner "Berichte" erstellt werden. Soweit hab ich das hier:
@echo OFF
SET I=1
:BODY
IF %I% == 32 GOTO EXIT
MD C:\test\06-10-%I%
SET /A I=%I%+1
GOTO BODY
:EXIT
@echo ON
EXIT
Jedoch erstellt er bei den ersten 9 ohne die 0 vorweg (01,02,03,04 etc.). Und wie bekomm ich die unter Ordner noch eingefügt?
Weis jemand Rat?
Gruß tandaluso
ich möchte gerne Tagesordner für einen ganzen Monat erstellen: 06-10-01 bis 06-10-31. In jeden Ordner soll dann noch ein Unterordner "Berichte" erstellt werden. Soweit hab ich das hier:
@echo OFF
SET I=1
:BODY
IF %I% == 32 GOTO EXIT
MD C:\test\06-10-%I%
SET /A I=%I%+1
GOTO BODY
:EXIT
@echo ON
EXIT
Jedoch erstellt er bei den ersten 9 ohne die 0 vorweg (01,02,03,04 etc.). Und wie bekomm ich die unter Ordner noch eingefügt?
Weis jemand Rat?
Gruß tandaluso
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 41469
Url: https://administrator.de/contentid/41469
Ausgedruckt am: 15.11.2024 um 17:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo tandaluso!
Eine Schleife für die einstelligen Tage (und "0" extra angeben), eine zweite für den Rest:
Schön ist das Ganze natürlich nicht (v. a. Jahr und Monat sowie Monatsende [31] fest verdrahtet) ...
HTH
bastla
Eine Schleife für die einstelligen Tage (und "0" extra angeben), eine zweite für den Rest:
FOR /L %%i in (1,1,9) Do MD C:\test\06-10-0%%i
FOR /L %%i in (10,1,31) Do MD C:\test\06-10-%%i
Schön ist das Ganze natürlich nicht (v. a. Jahr und Monat sowie Monatsende [31] fest verdrahtet) ...
HTH
bastla
Hallo, ich habe hier auch eine Lösung für deine Probleme:
@echo OFF
SET I=1
:BODY1
IF %I% == 10 GOTO BODY2
MD C:\test\06-10-0%I%\Unterordner
MD C:\test\06-10-0%I%\Unterordner2
SET /A I=%I%+1
GOTO BODY1
:BODY2
IF %I% == 32 GOTO EXIT
MD C:\test\06-10-%I%\Unterordner
MD C:\test\06-10-%I%\Unterordner2
SET /A I=%I%+1
GOTO BODY2
:EXIT
@echo ON
EXIT
Du musst halt nur darauf achten die Unterordner in Body1 und in Body2 anzulegen.
Sonst werden sie entweder bei Ordern 01-09 oder bei Ordner 10-31 erstellt.
Gruß MadMag
@echo OFF
SET I=1
:BODY1
IF %I% == 10 GOTO BODY2
MD C:\test\06-10-0%I%\Unterordner
MD C:\test\06-10-0%I%\Unterordner2
SET /A I=%I%+1
GOTO BODY1
:BODY2
IF %I% == 32 GOTO EXIT
MD C:\test\06-10-%I%\Unterordner
MD C:\test\06-10-%I%\Unterordner2
SET /A I=%I%+1
GOTO BODY2
:EXIT
@echo ON
EXIT
Du musst halt nur darauf achten die Unterordner in Body1 und in Body2 anzulegen.
Sonst werden sie entweder bei Ordern 01-09 oder bei Ordner 10-31 erstellt.
Gruß MadMag
Moin tandaluso,
einen hätte ich noch aus der Reihe "Mein schönster Oneliner"....
[Wie immer das GROSS geschriebene @echo zum Scharfmachen löschen.
Und die Monatsliste in der ersten Zeile natürlich vervollständigt werden.]
Gruß
Biber
einen hätte ich noch aus der Reihe "Mein schönster Oneliner"....
:: --snipp MdMonatsDirs.bat
@for %%i in (01:31 02:28 03:31 04:30 05:31 11:30 12:31) do @(
for /f "delims=: tokens=1-2" %%m in ("%%i") do @(
for /l %%a in (1,1,%%n) do @(
if %%a lss 10 @(
@ECHO if not exist 06-%%m-0%%a\Berichte md 06-%%m-0%%a\Berichte
) else (
@ECHO if not exist 06-%%m-%%a\Berichte md 06-%%m-%%a\Berichte
))))
[Wie immer das GROSS geschriebene @echo zum Scharfmachen löschen.
Und die Monatsliste in der ersten Zeile natürlich vervollständigt werden.]
Gruß
Biber
@bastla
natürlich - in einem Produktivbatch würde ich selbstverständlich noch eine For-Schleife für die Jahre:TageImFeb außen herumlegen:
...aber erstens sollte das ja nur eine Skizze sein, und zweitens können wir beim nächsten Schaltjahr vielleicht schon etwas Eleganteres mit der M$-Vista PowerShell zaubern .
Oder im übernächsten Schaltjahr...
Grüße
Biber
natürlich - in einem Produktivbatch würde ich selbstverständlich noch eine For-Schleife für die Jahre:TageImFeb außen herumlegen:
@for %%x in (2006:28 2007:28 2008:29 ..) do for /f "delims=: tokens=1,2" in ("%%x") Do...
...
...aber erstens sollte das ja nur eine Skizze sein, und zweitens können wir beim nächsten Schaltjahr vielleicht schon etwas Eleganteres mit der M$-Vista PowerShell zaubern .
Oder im übernächsten Schaltjahr...
Grüße
Biber