Share this question

Welcome to Teachnovice Q&A, where you can ask questions and receive answers from other members of the community.

This is a collaboratively edited question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Schedule a job from the Windows command line

0 like 0 dislike

On Linux there is cron job and at job. Is there a way to schedule a job from the command line on Windows?

The Task Scheduler GUI is not what I am after. I must modify a script to schedule an event upon a certain condition... so there must be a way to call this from the command line.

asked Nov 9, 2012 by anonymous  
retagged Apr 19, 2013

2 Answers

0 like 0 dislike
Best answer

Windows also has an "at job". Albeit the syntax is a little different.

C:\Documents and Settings\Administrator>at /?
The AT command schedules commands and programs to run on a computer at
a specified time and date. The Schedule service must be running to use
the AT command.

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\\computername     Specifies a remote computer. Commands are scheduled on the
                   local computer if this parameter is omitted.
id                 Is an identification number assigned to a scheduled
/delete            Cancels a scheduled command. If id is omitted, all the
                   scheduled commands on the computer are canceled.
/yes               Used with cancel all jobs command when no further
                   confirmation is desired.
time               Specifies the time when command is to run.
/interactive       Allows the job to interact with the desktop of the user
                   who is logged on at the time the job runs.
/every:date[,...]  Runs the command on each specified day(s) of the week or
                   month. If date is omitted, the current day of the month
                   is assumed.
/next:date[,...]   Runs the specified command on the next occurrence of the
                   day (for example, next Thursday).  If date is omitted, the
                   current day of the month is assumed.
"command"          Is the Windows NT command, or batch program to be run.


at 9:00 /interactive notepad.exe

This will cause Notepad to interactively open for the user at 9:00 in the morning.

answered Nov 9, 2012 by anonymous  
0 like 0 dislike

Use the schtasks command. It has more options than the at command and some nice ones like /mo LASTDAY for the last day of the month:

schtasks schedules commands and programs to run periodically or at a specific time. Adds and removes tasks from the schedule, starts and stops tasks on demand, and displays and changes scheduled tasks.


schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier]
         [/d day] [/m month[,month...] [/i IdleTime] [/st StartTime] 
         [/sd StartDate] [/ed EndDate] [/s computer [/u 
         [domain\]user /p password]] 
         [/ru {[Domain\]User | "System"} [/rp Password]] /? 
answered Nov 9, 2012 by anonymous