Falcon99
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Столкнулся с задачей о необходимости напоминания о событии через каждые три рабочих дня. Среди "напоминалок" не нашел. Написал такой скрипт, который закинул в автозагрузку: Код: @echo off rem создаем начальные переменные и загоняем их в файл rem set data_event=%date:~-4%.%date:~3,2%.%date:~,2% rem set number_count=1 rem set number_count_event=3 rem set>dump.tmp rem считываем переменные из файла for /f "usebackq tokens=1* delims==" %%A in (c:\temp\dump.tmp) do (set "%%A=%%B") rem Получаем текущую дату set data_event_temp=%date:~-4%.%date:~3,2%.%date:~,2% rem Сравниваем переменную события и текущую, если равны то выходим без сохранения if /i %data_event% EQU %data_event_temp% exit rem т.к. дата события в файле не равна текущей, то изменяем ее на текущую set data_event=%data_event_temp% rem т.к. дата события была не равна текущей, то запускаем проверку на появление события rem задаем временную переменную события set /a number_count_temp=%number_count%+1 rem если переменные не равны, то увеличиваем значение счетчика number_count, if %number_count_event% NEQ %number_count_temp% ( echo Сегодня нет события set number_count=%number_count_temp% ) else ( echo Сегодня событие msg * Необходимый день наступил set number_count=0 ) set>dump.tmp exit | Первой частью, что полностью заремлена, формирую файл для хранения переменных между запусками. data_event - дата опроса последнего файла, number_count счетчик дней, а number_count-event через какое количество дней необходимо сообщить о событии. В принципе все устраивает, но при использовании set>dump.tmp в файл dump.tmp, попадает много лишней информации. Можно ли как-нибудь оптимизировать данный скрипт, чтобы в файл писались только нужные переменные? Или решить задачу другим способом? | Всего записей: 607 | Зарегистр. 12-10-2005 | Отправлено: 11:56 22-10-2019 | Исправлено: Falcon99, 11:57 22-10-2019 |
|