Имя пользователя:
Пароль:
 

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

Ветеран


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

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


mouserok,
Вот, можешь попытаться прикрутить. Но лучше все-таки *.ps1 или *.vbs
Код: Выделить весь код
:: Разница между датами в днях
@echo off
setlocal

:again
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 m-=1
if %m%==0 (set yd=0 && goto:skip)

:tok
set /a tok+=1
for /f "tokens=%tok%" %%i in ("31 %feb% 31 30 31 30 31 31 30 31 30 31") do (
    set /a yd+=%%i
    if not %tok%==%m% goto:tok
)

:skip
set /a res=y*365+y/4+29-feb+yd+d
set tok=
set yd=

if not defined res1 (
    set res1=%res%
    set /p date="Enter date: "
    goto:again
)

set /a res-=res1
if not %res%==0 (
    if %res:~0,1%==- (
        echo %res:~1% days from %date%
    ) else (
        echo %res% days to %date%
    )
) else (
    echo today is %date%
)
Если лог состоит из дат, одна строчка - одна дата, то на поше может выглядеть так:
Код: Выделить весь код
$date = gc test.log
if ((new-timespan $date[$date.count-1] $(get-date)).days -ge 7) {cmd /c 1.cmd}
Или передавать кол-во дней в качестве параметра в батник:
Код: Выделить весь код
$date = gc test.log
$days = (new-timespan $date[$date.count-1] $(get-date)).days
cmd /c 1.cmd $days

Последний раз редактировалось Foreigner, 12-10-2011 в 20:42.


Отправлено: 20:02, 12-10-2011 | #2