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
Sowas kann Windows command.com / cmd.exe nicht. Mit dem Windows Script Host in VBscript oder JScript kann man sowas machen - noch viel komfortabler.
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
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...
Gast
#1261630
Eure Frickelei funktioniert dann nur bei deutschen Regionaleinstellungen. Toll :-) Anbei ein ordentliches DATE...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.