|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Батник имеющий лимит запусков по дням??? |
|
CMD/BAT - Батник имеющий лимит запусков по дням???
|
Пользователь Сообщения: 54 |
Уважаемые Батотцы.
Нужен скрипт который имел лимит запусков по дням, т.е. я его запустили (или написал) 20 сентября, надо что бы 20 октября он перестал запускаться, очень важно что бы он записывал день в txt или ini . Я уже находил похожую тему на форуме, но там массивный скрипт который сохраняет в реестр. |
|
Отправлено: 23:48, 22-09-2009 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Anarasius, расхождение в месяцах считать не так сложно, как в днях/неделях
@Echo Off SetLocal EnableExtensions Set $INI=C:\TEST\config.txt If Not Exist %$INI% GoTo FirstStart For /F "UseBackQ" %%i In ("%$INI%") Do If %DATE% GEQ %%i Exit /B 1 Echo Тут батник что-то должен делать... Exit /B 0 :FirstStart Set $Y=%DATE:~6,4% If "%DATE:~3,1%"=="0" (Set $M=%DATE:~4,1%) Else (Set $M=%DATE:~3,2%) If %$M% EQU 12 (Set $M=1& Set /A $Y+=1) Else (Set /A $M+=1) Echo %DATE:~,2%.%$M%.%$Y% >"%$INI%" |
Отправлено: 10:44, 23-09-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать зачем мне расхождение в процентах? Мне нужно чтобы батник тупо не запустился если прошло 30 дней
|
Отправлено: 23:25, 23-09-2009 | #3 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать Anarasius, Вы можете хранить необходимые параметры непосредственно в самом батнике (например обратный счетчик запуска и т.д.). Вот для примера самомодифицырующийся батник, в переменной Last запоминается дата/время последнего вызова, в нее же сохраняется текущее время для следующего вызова - можно легко заменить значение на нужное:
@echo off SetLocal EnableExtensions SetLocal EnableDelayedExpansion set Last=FirstStart set chk=set Last=%Last% set D=%Date:~6,4%%Date:~3,2%%Date:~0,2%%time::=% set D=%D:~0,-3% if exist %D%.tmp del /F %D%.tmp for /F "usebackq tokens=* delims=" %%T in ("%0") do if "%%T"=="%chk%" (Echo set Last=%D%>>%D%.tmp ) else Echo %%T>>%D%.tmp start /min %ComSpec% /c "xcopy %D%.tmp %0 /R /Y && del /f %D%.tmp" rem Далее Основной код, В переменной %Last% - предыдущее значение, в %D% - текущее (дата/время) |
------- Отправлено: 16:07, 24-09-2009 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] как сделать доступ к папкам по дням недели? | Steven21 | Microsoft Windows NT/2000/2003 | 15 | 10-12-2009 17:11 | |
[решено] Скрипт считающий кол-во запусков | Anarasius | AutoIt | 9 | 29-11-2009 01:02 | |
БП и ИБП - Как определить: совместим ли БП (имеющий Active PFC) с UPS? | interminable | Прочее железо | 8 | 01-02-2009 12:46 | |
Доступ - Windows XP лимит на 10 соединений | lxa85 | Microsoft Windows 2000/XP | 2 | 07-08-2008 09:22 | |
Mozilla/Firebird, несколько запусков. | ivank | Программное обеспечение Linux и FreeBSD | 7 | 23-12-2003 23:09 |
|