Create, delete, edit, list, start or stop a scheduled task. The task can be created on the local or a remote computer.
Syntax:
SCHTASKS /Create [Connect_Options] Create_Options /TN taskname
SCHTASKS /Delete [Connect_Options] /TN taskname [/F]
SCHTASKS /Query [Connect_Options] [/FO format] [/NH] [/V]
SCHTASKS /Run [Connect_Options] /TN taskname
SCHTASKS /End [Connect_Options] /TN taskname
SCHTASKS /Change [Connect_Options] {[/RU username] [/RP password] [/TR taskrun]} /TN taskname
Connect_Options:
/S system # Remote system (default is local)
[/U username [/P password]] # Submit job under this name
Create_Options:
/TR taskrun # Pathname of the executable to run
/ST starttime # HH:MM (24 hour)
[/RU username [/RP password]] # Run job as this user
/SC schedule [/MO modifier] # When to run, see below
[/D day] # Day = MON,TUE,WED,THU,FRI,SAT,SUN
[/M months] # Month=JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC.
[/I idletime] # 1 - 999 minutes (ONIDLE task only)
[/SD startdate] [/ED enddate] # Start and end date "dd/mm/yyyy"
options:
/TN A name for the task
/F Force delete, ignore warnings even if the task is currently runnning.
/FO Output format: TABLE, LIST, CSV
/NH No header
/V Verbose output
For MONTHLY schedules give the DAY as a number 1 - 31 (default=1)
To prompt for the password, specify /RP * or /RP none
The User Account under which the Schedule service runs may require specific file access permissions, user permissions and drive mappings.
If the /RU username and /RP Password parameters match the currently logged-in user, the task will run interactively (visible in the foreground).
For the system account, /RU username can be written as "", "NT AUTHORITY\SYSTEM" or "SYSTEM", a Password is not required. The system account has full access to the local machine but has no permissions on any other machines (or mapped drives) across the Network.
The new task must be set to start a minimum of 1 minute into the future.
/SC schedule The schedule frequency.
Valid schedules: MINUTE,HOURLY,DAILY,WEEKLY,MONTHLY, ONCE,ONSTART,ONLOGON,ONIDLE.
/MO modifiers allow finer control:
MINUTE: 1 - 1439 minutes.
HOURLY: 1 - 23 hours.
DAILY: 1 - 365 days.
WEEKLY: 1 - 52 weeks.
ONCE: No modifiers.
ONSTART: No modifiers.
ONLOGON: No modifiers.
ONIDLE: No modifiers.
MONTHLY: 1 - 12, or FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.
The property for "Wake up the machine to run this task" cannot be set using schtasks, but this property is essential if you need the task to run on a machine that has PowerSaving enabled.
To work around this, create a task on one computer using the control panel GUI. This will create a .job file in %windir%\Tasks\
To replicate the scheduled task onto other machines copy the .JOB file to %windir%\Tasks on each machine.
This techique will not retain any system account credentials, so if you need to run the tasks under System, run the following after copying the .JOB file:
SCHTASKS /CHANGE /RU "NT Authority\System" /TN "Yourtaskname"
If a scheduled task invokes a UAC prompt, then the task may fail to run unattended. To prevent this issue (without disabling UAC completely) setup a 'Fix' using the Application Compatibility Toolkit.
If you are running a non-english language version of Windows then the Days and Months accepted by SCHTASKS may be localised.
e.g. Italian days:
lun,
mar,
mer,
gio,
ven,
sab,
dom Italian months:
gen,
feb,
mar,
apr,
mag,
giu,
lug,
set,
ott,
nov,
dic.
Examples:
Create a task to run at 11 pm every weekday
SCHTASKS /Create /SC weekly /D MON,TUE,WED,THU,FRI /TN MyDailyBackup /ST 23:00 /TR c:\backup.cmd /RU MyDomain\MyLogin /RP MyPassword
Now delete the task:
SCHTASKS /Delete /TN "MyDailyBackup" /f
Create a daily task to run a script at 5 pm:
SCHTASKS /create /tn "My Script" /tr "\"c:\my folder\script.cmd\" arguments" /sc daily /sd 12/29/2008 /st 17:00
Task Scheduler options are stored in the registry
HKLM\SOFTWARE\Microsoft\SchedulingAgent\
“We don’t wake up for less than $10,000 a day” ~ Linda Evangelista
Related:
Q823093 - Scheduled task does not run when the Path contains a space
WAITFOR - Wait for or send a signal.
Powershell: To schedule a PS task call Powershell.exe
Equivalent bash command (linux):
crontab - Schedule a command to run at a later time
© Copyright SS64.com 1999-2013
Some rights reserved