Hallo,
ich bin kein Batch Crack, aber ganz gut im googeln :)
vielleicht hilft dir das hier ein wenig weiter..
SET MONTH=%DATE:~-10,2%&&SET DAY=%DATE:~-7,2%&&SET YEAR=%DATE:~-4%
IF %DAY% LSS 10 SET DAY=%DAY:~-1%
IF %MONTH% LSS 10 SET MONTH=%MONTH:~-1%
SET /A DAY-=1
IF %DAY%==0 (GOTO LASTMONTH) ELSE GOTO OUTPUT
:LASTMONTH
SET /A MONTH-=1
IF MONTH==0 GOTO LASTYEAR
IF NOT %MONTH%==2 GOTO DAYSMON
SET LT=%YEAR%
:LEAPFROG
SET /A LT-=4
IF %LT% GEQ 4 GOTO LEAPFROG
IF %LT% GTR 0 (SET DAY=28) ELSE SET DAY=29
GOTO OUTPUT
:DAYSMON
FOR %%G IN (1,3,5,7,8,10) DO IF %MONTH%==%%G SET DAY=31&&GOTO OUTPUT
FOR %%H IN (4,6,9,11) DO IF %MONTH%==%%H SET DAY=30&&GOTO OUTPUT
:LASTYEAR
SET /A YEAR-=1&&SET DAY=31&&SET MONTH=12
:OUTPUT
IF %DAY% LSS 10 SET DAY=0%DAY%
IF %MONTH% LSS 10 SET MONTH=0%MONTH%
ECHO %MONTH%%DAY%%YEAR:~-2%
Das hab ich hier:
singular date not showing in this
gefunden.
Müsste wohl ein wenig angepasst werden, zieht aber schonmal einen Tag ab.
Bei einer cmd scheint das nicht ganz so schön zu funktionieren wie bei nem vbs...
da würde dateadd reichen..
Dieses Script hier würde z.B. in dem Ordner, wo es sich befindet bei Bedarf einen Unterordner mit dem Datum von gestern erstellen ;)
Set oFSO = CreateObject("Scripting.FileSystemObject")
aFolder = Split(DateAdd("d", Now(), -1), ".")
For i = UBound(aFolder) To LBound(aFolder) Step -1
sFolder = sFolder & aFolder(i)
Next
MsgBox sFolder
Set omyFolder = oFSO.GetFolder(".")
If not oFSO.FolderExists (omyFolder & "\" & sFolder) Then _
oFSO.CreateFolder(omyFolder & "\" & sFolder)