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
Please also mark the comments that contributed to the solution of the article
Content-Key: 41469
Url: https://administrator.de/contentid/41469
Printed on: April 18, 2024 at 09:04 o'clock
8 Comments
Latest comment
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