I need to run a task on the following schedule:

task repeats weekly on Saturdays
task repeats the first of every month

However, if the first of the month is a Saturday, the task should only run once. Is this possible with Windows Scheduler?

Note: I can ONLY use Windows Task Scheduler for this...task.

2 Answers 2


After looking it does not appear that Windows task scheduler does not have the ability to do this type of conditional on days and dates.

Im sure there are replacement task managers out there that can do this.

Also, you could write a script to accomplish this fairly easily. Add the script into the Windows Task Manager to run every Saturday, but in the script's code, check for the date of the month and exit on the 1st.

  • It needs to run exactly once on the 1st if it's a Saturday. Your idea would not have it run at all if the 1st is a Saturday. Also, I could have been explicit (I'll excuse myself by saying I have Windows Task Scheduler in the title), but I can only use Windows Task Scheduler for scheduling (stupid internal IT policies). Commented Sep 10, 2012 at 19:42
  • you are correct, my logic was flawed. Its an easy fix though. Change the logic in the script to run IF Saturday OR the first then execute a program. You are looking at a 1 or 2 line VBScript.
    – Keltari
    Commented Sep 11, 2012 at 1:11

I don't know whether you can configure this schedule without making Windows Scheduler run the job twice, but you can "wrap" whatever command/action you take into a batch file or other script (VBscript, Java program, exe, whatever) that keeps track of the last time it was run, and refuses to run if it has been less than 7 days since the last run. This won't work if you need to be able to insert random commands into the task scheduler or if you can't wrap them in a script for some reason.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .