Нужно создать переменные некоторого диапазона прошедших дней. Столкнулся с проблемой раскрытия в "tokens=!tok!" в цикле. Есть идеи?
Код:

@echo off
setlocal enabledelayedexpansion
for /l %%a in (5,1,9) do (
set d=%date:~0,2%
set m=%date:~3,2%
set y=%date:~6,4%
if "!d:~0,1!"=="0" set d=!d:~1!
if "!m:~0,1!"=="0" set m=!m:~1!
set /a feb=y%%4
if "!feb!"=="0" (set feb=29) else (set feb=28)
set /a tok=m-1
if "!tok!"=="0" set tok=12
for /f "tokens=!tok!" %%i in ("31 !feb! 31 30 31 30 31 31 30 31 30 31") do (
set /a d-=%%a
if !d!==0 (
set d=%%i
set m=%tok%
if !m!==12 set /a y-=1
)
)
set d=0!d!
set m=0!m!
set yesterday=!d:~-2!.!m:~-2!.!y!
echo !yesterday!_%%a
)
pause