Показать полную графическую версию : отсчитать время до запуска bat...
Привет всем! Подскажите кто может. Нужен код, который будет делать следующие вещи:
отсчитать определённое время с момента запуска (например 6 месяцев) до запуска бат-команды, и по истечению этого времени, запустить эту команду.
spk151, создайте задание в планировщике.
нужен именно бат, т.е. установка в одно нажатие
Первый запуск - настройка(сколько месяцев и где храним)
@Echo Off
Echo Где храним бат(Например C:)
Set /p Put=
Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "bat" /t REG_SZ /d "%Put%\new.bat" /f
Echo Сколько месяцев ждать
Set /p Monts=
Set Year=%Date:~6%
Set /a m=%Date:~3,-5%+%Monts%
If %m% LEQ 9 Set m=0%m%
Echo @Echo Off >%Put%\new.bat
Echo If %%Date:~3%% == %m%.%Year% Start PROGRAMMA.EXE >>%Put%\new.bat
Echo Exit >>%Put%\new.bat
Меняем Start PROGRAMMA.EXE на то что нужно
P.S. здесь кодировка точно 866 )))
zion87, пара сомнений:
- если компьютер работает круглосуточно и не выключается?
- если сумма в переменной m превысит 12 (или 24)?
zion87 спасибо, потестирую)
@Echo Off
Echo Где храним бат(Например C:)
Set /p Put=
Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "bat" /t REG_SZ /d "%Put%\new.bat" /f
Echo Сколько месяцев ждать
Set /p Monts=
Set Year=%Date:~6%
Set /a m=%Date:~3,-5%+%Monts%
:1
If %m% LEQ 9 Set m=0%m%
if %m% GTR 12 Goto :2
Echo @Echo Off >%Put%\new.bat
Echo If %%Date:~3%% == %m%.%Year% Start PROGRAMMA.EXE >>%Put%\new.bat
Echo Exit >>%Put%\new.bat
Exit
:2
Set /a m-=12
Set /a Year+=1
Goto :1
- если сумма в переменной m превысит 12 (или 24)? » - эта проблема решена
А вот с
- если компьютер работает круглосуточно и не выключается? »
не хочется делать циклические проверки(забивать систему лишним процессом)
zion87 извини за тупость, а рабочую версию кода не скинешь? Без пояснений, но работающую. А то я на хранении уже застрял :( А что будет дальше, подумать боюсь!:durak:И вместо ехе мне нужна бат-команда
а рабочую версию кода не скинешь? »
а это какая?
Без пояснений »
эти пояснения часть кода(для того чтобы можно было легко ариентироваться)
И вместо ехе мне нужна бат-команда »
проблем не вижу, например Echo Тыры пыры!!!
zion87, Echo Где храним бат(Например C:) » ну напиши пример, тебе это ничего не стоит, а мне гуглить пол ночи :search:
есть подозрение, что это рецепт приготовления time-bomb
@Echo Off
Echo Где храним бат(Например C:)
Set /p Put=
Reg Add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "bat" /t REG_SZ /d "%Put%\new.bat" /f
Echo Сколько месяцев ждать
Set /p Monts=
Set Year=%Date:~6%
Set /a m=%Date:~3,-5%+%Monts%
:1
If %m% LEQ 9 Set m=0%m%
if %m% GTR 12 Goto :2
Echo @Echo Off >%Put%\new.bat
Echo If %%Date:~3%% == %m%.%Year% Start PROGRAMMA.EXE >>%Put%\new.bat
Echo Exit >>%Put%\new.bat
Exit
:2
Set /a m-=12
Set /a Year+=1
Goto :1
Уважаемый spk151, копируете в блокнот и нажимаете сохранить "имя.bat" с кодировкой 866 и запускаете BAT файл дальше вводите данные по запросу.
есть подозрение, что это рецепт приготовления time-bomb »Меня тоже эта мысль посетила в первую очередь :)
zion87, спасибо, начинаю уже сам потихоньку вникать :)
cameron, на самом деле, это просто жизненно необходимая для меня вещь. Просто выйдет по истечению срока табличка с напоминанием, что пора мне позвонить;) А что это за time-bomb? Есть готовые варианты?:)
Просто выйдет по истечению срока табличка с напоминанием, что пора мне позвонить »Я думал вы скажете поздравить маму, папу, тётю, дядю :)
А что это за time-bomb? »В один прекрасный момент (1 апреля, Новый год и тд) "взрывается бомба", которая рушит систему, всё что угодно, но до этого времени тихо сидит и ни кому не мешает.
есть подозрение, что это рецепт приготовления time-bomb »Меня тоже эта мысль посетила в первую очередь »
Ага. В частности, отказ от использования Планировщика, мягко говоря, настораживает.
Просто выйдет по истечению срока табличка с напоминанием, что пора мне позвонить
Нда… :lol:. Очень удачный пример, учитывая «простоту» работы с датами в пакетных файлах и указанный срок:
отсчитать определённое время с момента запуска (например 6 месяцев) »
Echo Где храним бат(Например C: »
где храним или хранить? Допустим, храним. Автозапуск прописывает если я ставлю диск С, С:\new.bat\new.bat Если я создаю папку new.bat и помещаю туда батник он просто заново начинает настройку. Не пойму я, какой бат там нужно хранить :search:
С:\new.bat »Не надо папку так называть. Назовите просто newbat без точки.
можно конечно же написать вот так:
copy %0 C:\Windows\new.bat
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v project /t REG_SZ /d C:\Windows\new.bat /f
@echo off
if 23.12.2012 LEQ %date% goto metka
exit
:metka
Echo off
msg ку ку)
но тогда число нужно будет менять ручками, а хочется на автомате, вставил флешку, запустил бат и голова не болит :)
храним Echo Где храним бат(Например C:) »
если необходимо хранить в корне диска c:\ то пишем C:(без слеша) а если в какой то папке, то например c:\new(без слеша)
там храниться батник который получится после настройки ....
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.