Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Date -1 (http://forum.oszone.net/showthread.php?t=216436)

Sladkiy85 25-09-2011 18:59 1759915

Date -1
 
Подскажите плиз, как получить дату предыдущего дня, чтоб её можно было впихнуть в переменную?
что-то типа:
set curdate=%date%-1
буду очень признателен!

Foreigner 25-09-2011 19:19 1759925

Sladkiy85,
Придется высчитывать високосность, количество дней в месяце. В общем скучная и нудная работа. За синтаксис не ругаться, батник древнющий:
Код:

@echo off
setlocal enabledelayedexpansion

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-=1
    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%


Sladkiy85 25-09-2011 19:21 1759928

Спасибо большое!


Время: 21:24.

Время: 21:24.
© OSzone.net 2001-