Что нового

запуск процесса в определенное время.

KeeWee

Новичок
Сообщения
2
Репутация
0
доброй ночи, вопрос в следующем: имеется определенный процесс (process.exe), который нужно запускать в определенное время (пускай в 20:00 для наглядности). как можно это реализовать?
зы: извиняюсь за наверное глупый вопрос, я совсем новичек в автоит.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Код:
While 1
    If @HOUR = 20 AND @MIN = 0 AND (Not ProcessExists('process.exe')) Then Run('process.exe')
    Sleep(30000); 30 second
WEnd
 
Автор
K

KeeWee

Новичок
Сообщения
2
Репутация
0
KeeWee сказал(а):
доброй ночи, вопрос в следующем: имеется определенный процесс (process.exe), который нужно запускать в определенное время (пускай в 20:00 для наглядности). как можно это реализовать?
зы: извиняюсь за наверное глупый вопрос, я совсем новичек в автоит.
возможно ли несколько изменить условие запуска? т.е не в 20:00, а скажем с 20:00 до 21:00, с рандомным выбором времени запуска в заданном промежутке?
 

winstan

Эксплотатор)
Сообщения
406
Репутация
78
из кода Kaster'а убераем проверку на минуты, теперь процес будет запускаться когда на часах 20ч...
и добовляем рендом на чило засыпания
Код:
While 1
    If @HOUR = 20 AND (Not ProcessExists('process.exe')) Then Run('process.exe')
    Sleep(Random(10000,60000);тут код задержиться на периут от 10 до 60сек
WEnd
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Код:
While 1
    If @HOUR = 20 AND @MIN = Random(0, 59, 1) AND (Not ProcessExists('process.exe')) Then Run('process.exe')
    Sleep(30000); 30 second
WEnd
 

winstan

Эксплотатор)
Сообщения
406
Репутация
78
Kaster
на мой взгляд вероятность выполнения условия не велика...
по сути 1 к 30 то что условия совподёт в определённую пинуту ...
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
Скрипт запустится в промежутке времени с 20:00 до 21:00 Sleep для того чтоб усыпить скрипт на несколько минут созданными Random'ом например на 44 мин. тогда процесс запустится в 20:44, мог ошибится с расчётами Sleep'a, не ругайте, голова не работает :smile:

Код:
While 1
    If ((@HOUR >= 20 Or @HOUR <= 21) AND (Not ProcessExists('calc.exe'))) Then
		$iTime = Round(Random(1000, 60000) * 60)
		ConsoleWrite('Задерживаем скрипт на ' & Round($iTime / 60000) & ' мин.' & @CRLF)
        Sleep($iTime)
	    Run('calc.exe')
	EndIf
WEnd
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
winstan [?]
на мой взгляд вероятность выполнения условия не велика...
ты прав. тогда можно так
Код:
$time = Random(0, 59, 1); произвольное время для первого запуска
While 1
    If @HOUR = 20 AND @MIN = $time AND (Not ProcessExists('process.exe')) Then 
        Run('process.exe')
        $time = Random(0, 59, 1); для следующего запуска
    EndIf
    Sleep(30000); 30 second
WEnd
 
Верх