Войти

Показать полную графическую версию : Проблемы с определением даты в батнике.


ifer
05-10-2011, 19:27
Доброго времени суток, уважаемые форумчане. У меня есть батник который должен определять вчерашнюю дату.

set T_Year=%DATE:~-2%
set T_Mon=%DATE:~3,2%
set /A T_DATE=%DATE:~0,2%
SET /A T_DAY=%T_DATE%-1%
set TODAY=%T_Year%.%T_Mon%.%T_DAY%_%

проблема в том что если дата меньше 10го он её выводит в формате YY.MM.D. а когда больше 10го YY.MM.DD. Теряется "0" что написать надо для того что бы "0" не терялся?

Foreigner
05-10-2011, 19:56
ifer,
Вообще вот так в лоб, вчерашняя дата имеет погрешность, например как определить сколько дней в месяце? А по существу вопросу прибавляй ноль к переменной и отрезай нужное кол-во символов с конца. Например:

set "T_DAY=0%T_DAY%"
set "T_DAY=%T_DAY:~-2%"

По теме (http://forum.oszone.net/thread-216436.html)

ifer
05-10-2011, 20:14
Спасибо, разобрался

ifer
10-10-2011, 10:21
Возникла проблема с 2000 windows, не определяет дату для в формате 0.2 не определяется... посоветуйте чего-то) вот сам код.

set T_Year=%DATE:~-2%
set T_Mon=%DATE:~3,2%
set T_DATE=%DATE:~0,2%
SET /A T_DAY=%T_DATE%-1%
IF %T_DAY% LSS 10 SET T_DAY=0%T_DAY%
set TODAY=%T_Year%.%T_Mon%.%T_DAY%




© OSzone.net 2001-2012