I need to run a vbs script at login that will run a batch script based on a time range of between 22:00 and 06:00 the following day.

I have the current script as follows

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

Now the script runs fine when I use pre noon times e.g 6 and 11 but the about it does not. I can see the issue in that is is not factoring in the following days time and actually going back in time. What I need is the following

if time is 20:00 on day 1 but less than 06:00 on day 2 run the script else run the other script

This needs to run continuously between these times for every day of the week.

Please can you help?

有帮助吗?

解决方案

Why not just change AND to OR? In that case when the hour of the day is greater than 20 then it will fire. if the hour of the day is less than 6 it will also fire. Look at it less of the time frame when it needs to fire and more of a time frame excluding those hours when it does not need to fire.

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

VB Script Date Functions

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top