Will Windows Scheduled Tasks execute if the computer was off at the scheduled time?

If I schedule a task using windows task scheduler for, say, 2 minutes from now, and for some reason the computer is shut down 1 minute from now, and turned on 3 minutes from now, will the task that was scheduled still run?

If not, what can I do to mimic this functionality?

I'm writing a Java application that needs to execute a variety of system commands and I'd prefer the operating system actually manage the task execution phase. All I really need to have happen is for the task to execute as soon as possible by the operating system.


Solution 1:

No, it won't execute. The Task Scheduler in Vista and 7 can be configured to run missed instances, but XP's cannot. See the checkbox below called Run task as soon as possible after a scheduled start is missed.

However, all three can be set to wake the computer if it's asleep or hibernating.

enter image description here

Solution 2:

Im on Windows 10. Under the properties for the task...click the Conditions tab.

Under Power...check Wake the Computer to run this task.

enter image description here

Solution 3:

As it was said, you can't do this in XP but can in Vista+. Some programs (like Acronis True Image) use their own schedulers to overcome the system one's limitations.

To emulate this in XP, you can write a program (googling didn't readily reveal any publicly available existing ones) scheduled to run at system startup that would

  • check the system log for the last shutdown and startup times (or rather, Scheduler service's shutdown and startup times)
  • check task schedules against that
  • run the ones who have a start moment that falls into the interval

Caveats:

  • unless you can somehow call the corresponding Scheduler's functionality, you'll have to parse the schedules manually to calculate the next planned start time from a specific moment in the past
  • there's no "run as soon as possible" flag for tasks in XP, you'll have to invent a replacement (or grab everything indiscriminately)
  • since your task runs at system startup, some tasks may fail if they require facilities that have not been initialized yet