Сценарий входа в систему VBS с использованием временных диапазонов

Мне нужно запустить скрипт vbs при входе в систему, который будет запускать пакетный скрипт на основе временного диапазона между 22:00 и 06:00 следующего дня.

У меня есть текущий скрипт следующим образом

If Hour(Now()) >= 20 AND hour(Now()) < 6 Then
   //RUN SCRIPT
Else
   //RUN OTHER SCRIPT
End If

Теперь скрипт работает нормально, когда я использую время до полудня, например, 6 и 11, но об этом нет. Я вижу проблему в том, что не учитывается время следующих дней и фактически возвращается назад во времени. Мне нужно следующее

если время 20:00 в первый день, но меньше 06:00 во второй день, запустите скрипт, иначе запустите другой скрипт

Это должно работать непрерывно между этими временами для каждого дня недели.

Пожалуйста, вы можете помочь?


person user1333649    schedule 19.12.2012    source источник


Ответы (1)


Почему бы просто не заменить И на ИЛИ? В том случае, когда час дня больше 20, он сработает. если час дня меньше 6, он также сработает. Посмотрите на него меньше во времени, когда ему нужно стрелять, и больше во время, исключая те часы, когда ему не нужно стрелять.

If Hour(Now()) >= 20 OR hour(Now()) < 6 Then
   //RUN SCRIPT
Else
   //RUN OTHER SCRIPT
End If

Функции даты VB Script

person Pow-Ian    schedule 19.12.2012
comment
так легко заблудиться в чем-то, когда ты единственный, кто смотрит на это. Не чувствуйте себя глупо, я делал то же самое бесчисленное количество раз. - person Pow-Ian; 19.12.2012