Batchdatei zum erstellen von Ordnern für jeden Tag im Jahr
Guten Tag!
Also ich soll eine Batchdatei schreiben, die mir automatisch leere Ordner für jeden Tag im Jahr erstellt, mit der Bennenung TT.MM.JJJJ
for /L %%i IN (1,1,12) do for /L %%a in (1,1,30) do mkdir %%a.%%i.2011
Nur diese Zeile reicht ja schon um 360 Ordner zu erstellen, aber wie bekomme ich bei den einstelligen Tagen und Monaten eine Null davor?
Sonst lässt es sich ja nicht sinnvoll sortieren.
Und wie realisiere ich die korrekte Tagesanzahl für den entsprechenden Monat?
Bin da gerne bereit für jeden Monat ne einzelne Zeile zu schreiben, bräuchte dazu aber ein Beispiel oder eine Art Anleitung, weil ich wirklich keine Ahnung habe.
Komplettlösung ist zwar auch gerne gesehen, aber ich will ja gerne auch was lernen und verstehen.
Vielen Dank schonmal!
Also ich soll eine Batchdatei schreiben, die mir automatisch leere Ordner für jeden Tag im Jahr erstellt, mit der Bennenung TT.MM.JJJJ
for /L %%i IN (1,1,12) do for /L %%a in (1,1,30) do mkdir %%a.%%i.2011
Nur diese Zeile reicht ja schon um 360 Ordner zu erstellen, aber wie bekomme ich bei den einstelligen Tagen und Monaten eine Null davor?
Sonst lässt es sich ja nicht sinnvoll sortieren.
Und wie realisiere ich die korrekte Tagesanzahl für den entsprechenden Monat?
Bin da gerne bereit für jeden Monat ne einzelne Zeile zu schreiben, bräuchte dazu aber ein Beispiel oder eine Art Anleitung, weil ich wirklich keine Ahnung habe.
Komplettlösung ist zwar auch gerne gesehen, aber ich will ja gerne auch was lernen und verstehen.
Vielen Dank schonmal!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 14.02.2011 um 12:21:18 Uhr
Zitat von @Patches0hulahan:
... , die mir automatisch leere Ordner für jeden Tag im Jahr erstellt, mit der Bennenung TT.MM.JJJJ
Set /a rgc+=1... , die mir automatisch leere Ordner für jeden Tag im Jahr erstellt, mit der Bennenung TT.MM.JJJJ
#726
Content-ID: 160717
Url: https://administrator.de/contentid/160717
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
moin,
ganz banal zusammengeschustert - ohne Anspruch auf Eleganz...(und evtl. unnötige if else Konstrukte)
Nur gibt es weder den 30.2, noch hört das Jahr am 30.12 auf und 2011 wäre auf festverdrahtet.
daher auch von mir die Gegenfrage wozü das ganze?
Gruß
ganz banal zusammengeschustert - ohne Anspruch auf Eleganz...(und evtl. unnötige if else Konstrukte)
for /L %%i IN (1,1,12) do for /L %%a in (1,1,9) do mkdir 0%%a.%%i.2011
for /L %%i IN (1,1,12) do for /L %%a in (10,1,30) do mkdir %%a.%%i.2011
for /L %%i IN (1,1,12) do for /L %%a in (10,1,30) do mkdir %%a.%%i.2011
Nur gibt es weder den 30.2, noch hört das Jahr am 30.12 auf und 2011 wäre auf festverdrahtet.
daher auch von mir die Gegenfrage wozü das ganze?
Gruß
Zitat von @Patches0hulahan:
Nein, das reicht meinem Chef glaube ich nicht, trotzdem danke für die Idee.
Nein, das reicht meinem Chef glaube ich nicht, trotzdem danke für die Idee.
Aloha,
glauben ist nichts, wissen ist alles ;)
greetz André
Hallo Patches0hulahan und willkommen im Forum!
Batch (alleine) ist für dieses Vorhaben nicht wirklich die richtige Wahl - daher im Zweifelsfall zumindest durch ein wenig VBS ergänzen:
Übrigens: Schöne Grüße an Deinen Chef, und frag ihn von mir, ob eine Schreibweise JJJJ-MM-TT nicht übersichtlicher (und zumindest besser sortierbar) wäre ...
Sollte er auch zu dieser Erkenntnis kommen, wäre gar nicht viel (=nur die letzte Zeile) zu ändern:
Grüße
bastla
Batch (alleine) ist für dieses Vorhaben nicht wirklich die richtige Wahl - daher im Zweifelsfall zumindest durch ein wenig VBS ergänzen:
@echo off & setlocal
set /a Jahr=2011
set G=%temp%\GetDates.vbs
>%G% echo J=WScript.Arguments(0):For i=DateSerial(J,1,1) To DateSerial(J,12,31):WScript.Echo FormatDateTime(i):Next
for /f %%i in ('cscript //nologo %G% %Jahr%') do md %%i
Sollte er auch zu dieser Erkenntnis kommen, wäre gar nicht viel (=nur die letzte Zeile) zu ändern:
for /f "tokens=1-3 delims=." %%a in ('cscript //nologo %G% %Jahr%') do md %%c-%%b-%%a
bastla