CMD Numerische Konstante Fehler?

Ich habe mir ein Skript geschrieben, dass jeden Tag automatisch den richtigen Bericht öffnet. Das ist alle zwei Wochen eine Nummer mehr. Hat jetzt einen Monat ohne Probleme funktioniert. Heute hat er aber den Bericht von letzer Woche geöffnet. Gestern hatte er den richtigen. Ich hoffe ihr könnt anhand des Codes und es Fehlers sagen, wo das Problem liegt. Bin Systemintegrator in der Ausbildung. Kenne mich also ein ganz kleines bisschen mit programmieren aus. Ich glaube das ist ein total dämlicher Fehler. Aber ich finde ihn nicht. In der Berufsschule lerne ich übrigens Python. Deswegen kenne ich mich mit cmd kaum aus. Brauche ich ja eigentlich auch nicht für den Berufsalltag.

Hier der Code:

echo off
set jahr=%date:~-4%
echo Heute ist der %date%


if '%jahr%'=='2020' goto 2020
echo Es gibt keinen vorgefertigten Bericht mehr
Timeout /t 20


:2020
setlocal
chcp 1252>nul


REM KalenderWoche (Mo-SO)
REM Datum
set /A d=%date:~0,2%
set /A m=%date:~3,2%
set /A y=%date:~6,4%


REM Tag des Jahres
if %m% == 1 set /A DoY=d
if %m% == 2 set /A DoY=d+31
if %m% == 3 set /A DoY=d+59
if %m% == 4 set /A DoY=d+90
if %m% == 5 set /A DoY=d+120
if %m% == 6 set /A DoY=d+151
if %m% == 7 set /A DoY=d+181
if %m% == 8 set /A DoY=d+212
if %m% == 9 set /A DoY=d+243
if %m% == 10 set /A DoY=d+273
if %m% == 11 set /A DoY=d+304
if %m% == 12 set /A DoY=d+334


REM Schaltjahr?
set /A LY=(y/4)*4
if %y% NEQ %LY% goto noLY
if %m% GTR 2 set /A DoY=DoY+1


:noLY
REM Tag der Woche (Sonntag = 0)
for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (set DoW=%%g)
REM (Sonntag = 7)
if %DoW% == 0 set /A DoW=7


REM KW
set /A nSd=DoY+(7-DoW)
set /A KW=nSd/7
set /A delta=nSd-(KW*7)
if %delta% GTR 3 set /A KW=KW+1


REM Ausgabe der aktuellen KW
echo Wir sind in der %KW%. Kalenderwoche


REM Nummer des Berichts errechnen und richtigen Bericht öffnen
set /A Nummer=(KW+73)/2
echo Bericht: %Nummer%.docx
echo Fenster kann geschlossen werden oder wird geschlossen wenn der Bericht geschlossen wird.
chcp 850>nul
start winword.exe "G:\DATEN\Dez1\FD102\IuK\Azubis\"Mein Name"\Berichte\2020\%Nummer%.docx"
timeout /t 20
endlocal
exit

Und die Ausgabe mit der Fehlermeldung:

Heute ist der 08.05.2020
Ungültige Zahl. Numerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.
Wir sind in der 18. Kalenderwoche
Bericht: 45.docx
Fenster kann geschlossen werden oder wird geschlossen wenn der Bericht geschlossen wird.
Gewartet wird 17 Sekunden. Weiter mit beliebiger Taste...
Computer, Technik, Fehler, programmieren, bat, Batch, cmd, Technologie, Fehlermeldung, Schaltjahr, batch-trick

Meistgelesene Fragen zum Thema Cmd