Что нового

Работа скрипта по расписанию

maddoc

Новичок
Сообщения
48
Репутация
2
Эм. Опять наверно не вижу очевидного.
Хочу как то паузить скрипт ночью ( точнее дать ему работать в холостую ) и возобновлять работу днем.
Что то типа
Код:
If _NowTime() > 23:00 Then
DoSomething()
End if

Форум на запрос "Расписание" ничего не видал, пока гуглю англ. форум, может кто подскажет куда копать?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
1. Обрамляй код в тэги. Пусть хоть и маленькие. Набивай руки :smile:
2.
Код:
If @HOUR > 23 Then
DoSomething()
Endif
 
Автор
M

maddoc

Новичок
Сообщения
48
Репутация
2
Kaster сказал(а):
1. Обрамляй код в тэги. Пусть хоть и маленькие. Набивай руки :smile:
2.
Код:
If @HOUR > 23 Then
DoSomething()
Endif


Тоесть я правильно понимаю ? :

Код:
If @HOUR > 23 And < 10 Then
DoNightStuff() ;; Делаем что то ночью
Endif
If @HOUR > 10 And < 24 Then
DoDaytStuff() ;; Делаем что то днем.
Endif
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
maddoc [?]
Тоесть я правильно понимаю ? :

Правильно так :

Код:
;If @HOUR >= 23 And @HOUR < 10 Then
If @HOUR >= 23 Or @HOUR < 10 Then;Исправлено
DoNightStuff() ;; Делаем что то ночью
Endif
If @HOUR >= 10 And @HOUR < 23 Then
;If @HOUR >= 10 Or @HOUR < 23 Then;;Исправлено
DoDaytStuff() ;; Делаем что то днем.
Endif
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
Код:
If @HOUR >= 23 And @HOUR < 10 Then

Число не может быть одновременно болше чем 22 и меньше чем 10. Надо Or использовать.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Действительно , механически правил. :smile:
Код:
If @HOUR >= 23  Or @HOUR < 10  Then
DoNightStuff() ;; Делаем что то ночью
Endif
;If @HOUR >= 10   Or @HOUR < 23 Then
If @HOUR >= 10   And @HOUR < 23 Then ; Исправлено
DoDaytStuff() ;; Делаем что то днем.
Endif
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Можно, наверное, еще так:
Код:
Global $sMessage

Switch @HOUR
	Case 7 To 8
		$sMessage = 'Утро.'
	Case 9 To 17
		$sMessage = 'Рабочий день.'
	Case 18 To 22
		$sMessage = 'Вечер.'
	Case Else
		$sMessage = 'Ночь.'
EndSwitch

_Do_Something()

Func _Do_Something()
	If $sMessage Then
		MsgBox(0, '', $sMessage)
	Else
		MsgBox(0, '', 'Такого быть не может :)')
	EndIf
EndFunc   ;==>_Do_Something
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
gregaz
опять неверно :smile: как говорится, истина где-то посередине.
Код:
If @HOUR >= 23 Or @HOUR < 10  Then
DoNightStuff() ;; Делаем что то ночью
ElseIf @HOUR >= 10 AND @HOUR < 23 Then
DoDaytStuff() ;; Делаем что то днем.
Endif
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
OffTopic:
Ха-ха , ни за что бы не подумал ,что в таком вопросе можно ошибиться дважды.
:laugh:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Как правильно называть темы

[Расписание] это неприемлемое название темы, переименуйте тему иначе она будет закрыта.

С уважением, Администратор форума.
 
Автор
M

maddoc

Новичок
Сообщения
48
Репутация
2
Да чтож мне так не везет на создание заголовков у тем ((

Всем спасибо ) Кстати пока решался вопрос, я сдалал проще ( но естессно нада переделать на предлагаемые варианты, ибо они правильней ... )

Код:
Local $currentTime
$currentTime = _NowTime(4)
$currentTime = StringReplace( $currentTime, ":", "")
$Spamklock = "1100"
If $Spamklock < $currentTime Then
_DoDayStuff()
Endif
 

drd0s

Новичок
Сообщения
19
Репутация
2
Я извиняюсь, понимаю, что тема уже решена.
Но у меня возник вопрос, а скрипт будет постоянно висеть в процессах и перебирать время?!
Есть же системная команда at начиная с Windows 2000, если не ошибаюсь.
С помощью, которой процесс не будет висеть постоянно в памяти, но будет возможность запускать его по дням недели и во сколько нужно времени.
Пример:
Код:
at 23:00 /every:M,T,W,Th,F,S,Su D:\\Backup\\start.cmd
Будет запускаться в 23:00 каждый день недели.
:whistle:
 
Верх