Batch zum Ordnererstellen mit Datum von gestern

Squeery

Mitglied
Hallo,

ich habe ein mehr oder weniger großes Batch-Problem, vieleicht kann mir hier jemand helfen.

Ziel ist es eine Batchdatei zu schreiben, die eine Ordnerstruktur, falls nicht vorhanden, erstellt.
Allerdings unter der Voraussetzung, das Datum vom Tag davor zu nutzen.

Beispiel:
Heute ist der 31.01.2008, heute mittag startet die Batch-Datei automatisch und soll folgende Ordner, falls nicht vorhanden, erstellen:
D:\2008\01\30\
In diesen Ordner sollen auch Daten von gestern, die allerdings erst heute vorliegen.

Ich ziehe mir momentan mit %date% das Systemdatum und teile es entsprechend auf.
Erstelle dann mit den Teilen die Ordner.

Allerdings habe ich das Problem, das ich eben immer das Datum vom Tag davor brauche.
Den Tag um eins verringern fällt aus, wegen den Monatswechseln.
Schaltjahre müssen natürlich auch berücksichtigt werden.

Das ganze soll ohne große Berechnungen funktionieren, mit einer möglichst kleinen Batchdatei.

Hat jemand ne Ahnung wie ich "einfach" an das Datum vom Vortag komme?

Vielen vielen Dank schon mal :)
 
Hallo,

also ich denke, dass du das berechnen musst, und dann halt das Datum um einen Tag verringern. Es lässt sich ja errechnen ob ein Schaltjahr ist oder nicht. Und ein Monatswechsel lässt sich ja auch überrprüfen.

MFG

zEriX
 
Am Einfachsten gehts mir nem Hilfs VBScript
Den folgenden Code z.B. als DateAdd.vbs abspeichern
Code:
wscript.echo dateadd(Wscript.arguments.item(0),Wscript.arguments.item(1),Wscript.arguments.item(2))
In der Batch Datei kannst dann so aufs gestrige Datum zugreifen:
Code:
for /F %%i in ('cscript /nologo C:\meinpfad\zum\vbs\DateAdd.vbs d -1 %date%') do set GESTERN=%%i
In der Variable %GESTERN% steht dann dein gestriges Datum.
Falls im Pfad zur vbs Datei Leerzeichen drin sind, dann musst du das mit " Quoten.

Das vbs Skript nimmt alle Parameter die die DateAdd Funktion unterstützt:
Siehe http://www.w3schools.com/vbscript/func_dateadd.asp
 
Zurück