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

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

Старожил


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

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


Код: Выделить весь код
@echo off
::set date=04.07.2013

call :z -0 %date% a b
call :z -1 %date% c d
call :z -2 %date% e f

set | findstr /r /c:"^[abcdef]"
pause
exit

:z
SetLocal
Set DT=%2
Set yyyy=%DT:~-4%& set /a mm=100%DT:~3,2%%%100& set /a dd=100%DT:~,2%%%100
Set /A JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
Set /A L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
Set /A L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
Set /A J=J+2-12*L,I=100*(N-49)+I+L
Set /A yyyy=I,mm=100+J,dd=100+K
EndLocal& Set mm.dd=%mm:~-2%.%dd:~-2%

for /f "tokens=3,5" %%i in ('findstr %mm.dd% колич.txt') do (
set /a count+=1
call set %3%%count%%=%%i
call set %4%%count%%=%%j
)

set "count="
Где set date можно раскомментировать и переопределить текущую дату. Если надо более чем за 3 дня, то добавляете строки с call :z по аналогии.

Последний раз редактировалось Sphinx114, 04-07-2013 в 22:29.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:20, 04-07-2013 | #9