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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как сравнить %DATE% с установленной в ручную датой??

Ответить
Настройки темы
CMD/BAT - Как сравнить %DATE% с установленной в ручную датой??

Новый участник


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

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


Пишу небольшую программку! столкнулся с проблемой никак не пойму как сравнить %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

 

Аватара для gora

Ушёл из жизни


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

Профиль | Отправить 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
Благодарности: 1563

Профиль | Отправить 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:
1 раз высчитал число на 31 день больше, и потом уже при запуске только сверялся с ним »
тогда нужно решить где хранить эту вычисленную дату - в реестре или файле (как предложил gora)

Отправлено: 15:47, 11-02-2010 | #12


Новый участник


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

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


такс вариант GORA вроде подошел

сюда
Код: Выделить весь код
If %less% GTR 0 
(  	Echo Осталось дней: %less%  	Ping -n 5 localhost>Nul  ) 
Else 
(  	ВСТАВИЛ СВОИ ДЕЙСТВИЯ
Set prd=40 поставил 40 дней! считать все норма же будет?? даже если я 60-70 поставлю??

Отправлено: 20:33, 11-02-2010 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как сравнить %DATE% с установленной в ручную датой??

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход