Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 2196
Благодарности: 727

Профиль | Отправить PM | Цитировать


Нужно создать переменные некоторого диапазона прошедших дней. Столкнулся с проблемой раскрытия в "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

Отправлено: 08:20, 27-11-2014 | #16