Benötige Hilfe bei einer Batch-Datei

Hallo zusammen,

ich benötige Eure Unterstützung.

Ich habe eine Batch-Datei für Windows/Dos erstellt, mit folgendem Inhalt (unter Anderem):


set jahr=%date:~-4%
set monat=%date:~-7,2%-1
set tag=%date:~-10,2%

E:
cd DATA\SIS_2005\monthly\
mkdir %jahr%
cd %jahr%
mkdir %monat%

Soweit, so gut. Leider ist es aber so, dass der aktuelle Monat in meinem Fall nicht gewünscht wird. Die PDF-Dateien sind immer vom vergangenen Monat. In diesem Fall ist %monat% = 02. Ich benötige aber = 01.

Kann mir jemand sagen wie ich das Problem lösen kann? Gibt es eine Möglichkeit wie z.B. %monat% - 1? Falls ja, was mache ich dann im Januar (01 - 1?).

Danke für Eure Hilfe!

Hallo,

der Befehl „set“ wertet mit der Option /A auch arithmetische Ausdrücke aus, es müsste also mit

set /A monat=%monat% - 1

funktionieren. Den „Umbruch“ erreichst du beispielsweise durch eine IF-Abfrage:

IF %monat% EQU 0 set monat=12

Gruß
Chondron