set dd=%DATE:~0,2%
set mm=%DATE:~3,2%
set yyyy=%DATE:~6,4%
echo %mm%
IF %mm:~0,1% EQU 0(SET mm=%mm:~1,1% )
set /a mm=%mm%-1
echo %mm%
pause
Вывод
Как видно на выводе - set ставит вместо 09 значение 9, но дальше в переменной mm приходит опять 09, что поменять, чтобы решить проблему?