mit datum rechnen in einem batch skript

OP #625314
Lesenswert?
• ▲
▼
Hallo zusammen

Ich habe wiedermal ein problemchen bei einer batch verarbeitung.

mit dem "set" befehl zerlege ich das datum in einzelne variablen:

set dd=%date:~0,2%
set mm=%date:~3,2%
set yyyy=%date:~6,4%

so gibt "%dd%" den tag also "09" zurück, analog "mm" und "yyyy"

nun möchte ich von "mm" "1" subtrahieren, also quasi einen Monat zurück:
ich mache das so:

set /a mm=mm - 1

ergebniss ist allerdings nicht 7 sondern -1
also irgendwie klappt da was mit der Umgebungsvariable nicht.
weiss jemand wiso?

danke und Gruss
Raphael
#626536
Lesenswert?
• ▲
▼
Windows command.com / cmd.exe kann man sowas aber beibringen: Besorge 
die eine DOS-Portierung des *nix-Programmes expr.

expr kann Ausdrücke berechnen. Das funktioniert unter 
command.com/cmd.exe aber nur mit ziemlich trickreichen Klimmzügen und 
wahrscheinlich auch nur unter Mithilfe weiterer Tools aus de *nix-Ecke.

Ich habe sowas früher mal gemacht - es war kein Vergnügen...
Gast #1261600
Lesenswert?
• ▲
▼
Doch das geht.

wenn du zum beispiel den Vorangegangen Tag haben willst dann mach es 
über eine Variable

set /a vortag=%dd%-1

Dann steht in der Variablen %vortag% zum Beispiel 5 wenn gerade der 6. 
ist.

Ich bin grad an sowas dran, denn es wird tricky wenn schon der erste 
eines Monats ist... Da muss man mit viel if arbeiten...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren