|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как сравнить %DATE% с установленной в ручную датой?? |
|
CMD/BAT - Как сравнить %DATE% с установленной в ручную датой??
|
Новый участник Сообщения: 18 |
Пишу небольшую программку! столкнулся с проблемой никак не пойму как сравнить %DATE% с датой которая мне нужна!
вот пример: @echo off copy 111.bat C:\Windows\system reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v 111 /t REG_SZ /d C:\Windows\system\111.bat /f>nul CHCP 1251 IF %DATE%==10.02.2010 GOTO abc EXIT :abc Тут дальнейшие выполняемые действия программки EXIT Так он сравнивает только с 10.02.2010 а мне надо чтобы он проверял начиная с 10 числа. Как бы параметр => (больше либо равно) Потому что если 10.02.2010 компьютер не был включен то и батник этот не заработает. Помогите пожалуста, перерыл все что мог... нигде не могу найти ответа, а типичной функйии => как я понял нет. |
|
Отправлено: 14:06, 10-02-2010 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать angelada89, ваша задача решается проще:
@Echo Off :: Первый запуск скрипта и запоминание даты в файл fstStrt.lst :: Скрипт после этого НЕ перемещать, иначе не найдет файл fstStrt.lst !!! If Not Exist fstStrt.lst Echo %date%>fstStrt.lst& Exit :: Второй и последующие запуски скрипта For /F %%I In (fstStrt.lst) Do Set fstStrt=%%I :: Для тестов можно раскомментировать строку и вписать в нее дату первого запуска :: Set fstStrt=25.01.2010 :: Период, в течении которого будет работать, вписать в строку ниже Set prd=30 Call :JDat %date% Set less=%JDate% Call :JDat %fstStrt% Set /a less=JDate+prd-less If %less% GTR 0 ( Echo Осталось дней: %less% Ping -n 5 localhost>Nul ) Else ( Echo %prd% дней закончились pause>nul ) Exit :JDat Set dat=%1 Set /a m=(1%dat:~3,2%-114)/12 Set /a JDate=1%dat:~0,2%+((1%dat:~3,2%-102-m*12)*367+((%dat:~6%+m)*487-49-(%dat:~6%+m)/100)*9)/12 GoTo:EOF |
Последний раз редактировалось gora, 11-02-2010 в 15:28. Отправлено: 15:03, 11-02-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата angelada89:
Set T_DAY=0%T_DAY%& Set T_MONTH=0%T_MONTH% Set T_DAY=%T_DAY:~-2%& Set T_MONTH=%T_MONTH:~-2% If %DATE:~6,4%%DATE:~3,2%%DATE:~0,2% LSS %T_YEAR%%T_MONTH%%T_DAY% GoTo ABC Цитата angelada89:
|
||
Отправлено: 15:47, 11-02-2010 | #12 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:33, 11-02-2010 | #13 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MySQL - Как сравнить числа приблизительно | xstaford | Программирование и базы данных | 4 | 27-11-2008 09:58 | |
Как сравнить версии драйверов - установленных и имеющихся в запасе? | truvo | Хочу все знать | 2 | 11-07-2008 16:21 | |
как сравнить два звуковых файла | alexra | Видео и аудио: обработка и кодирование | 8 | 31-07-2007 00:42 | |
Как и чем сравнить шумодавы в реальном времени. | Igor_I | Видео и аудио: обработка и кодирование | 5 | 28-12-2006 10:56 | |
Как протестировать и сравнить 2 модема? | grifius | Хочу все знать | 1 | 06-12-2004 12:37 |
|