windows系统中,可通过命令行创建任务计划,用到schtasks命令
Schtasks命令详解
安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。
语法
schtasks/create /tn TaskName /tr TaskRun /sc schedule [/mo modifier ][/d day][/m month[,month...][/i IdleTime][/st StartTime][/sd StartDate][/ed EndDate][/scomputer[/u [domain\]user /p password]][/ru {[Domain\]User|"System"} [/rp Password]]
参数
/tnTaskName:指定任务的名称
/trTaskRun:指定任务运行的程序或命令。键入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名。如果忽略该路径,SchTasks.exe 将假定文件在Systemroot\System32 目录下。
/scschedule:指定计划类型。有效值为 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。
/momodifier:指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTE、HOURLY、DAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。
/ddirlist:指定周或月的一天。只与 WEEKLY 或 MONTHLY 计划共同使用时有效。
/mmonth[,month…]:指定一年中的一个月。有效值是 JAN ~ DEC 和 * (每个月)。/m参数只对于 MONTHLY 计划有效。在使用 LASTDAY 修饰符时,这个参数是必需的。否则,它是可选的,默认值是 * (每个月)。
/iInitialPageFileSize:指定任务启动之前计算机空闲多少分钟。键入一个1 ~ 999之间的整数。这个参数只对于 ONIDLE 计划有效,而且是必需的。
/stStartTime:以HH:MM:SS24 小时格式指定时间。默认值是命令完成时的当前本地时间。/st参数只对于 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 计划有效。它只对于 ONCE 计划是必需的。
/sdStartDate:以MM/DD/YYYY格式指定任务启动的日期。默认值是当前日期。/sd参数对于所有的计划有效,但只对于 ONCE 计划是必需的。
/edEndDate:指定任务计划运行的最后日期。此参数是可选的。它对于 ONCE、ONSTART、ONLOGON 或 ONIDLE 计划无效。默认情况下,计划没有结束日期。
/sComputer:指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u[domain]user:使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/ppassword:指定在/u参数中指定的用户帐户的密码。如果使用/u参数,则需要该参数。
/ru{[Domain]User|“System”}:使用指定用户帐户的权限运行任务。默认情况下,使用用户登录到运行 SchTasks 的计算机上的权限运行任务。
/rpPassword:指定用户帐户的密码,该用户帐户在/ru参数中指定。如果在指定用户帐户的时候忽略了这个参数,SchTasks.exe 会提示您输入密码而且不显示键入的文本。使用 NT Authority\System 帐户权限运行的任务不需要密码,SchTasks.exe 也不会提示索要密
示例
将定时执行脚本 C:\test\test.vbs 加入到任务计划中,任务名为 “Test Script”
每20分钟执行一次
schtasks /create /sc minute /mo 20 /tn “Test Script” /tr C:\test\test.vbs
结果如下图:
加上admin账户和密码:
schtasks /create /sc minute /mo 20 /tn “Test Script” /tr C:\test\test.vbs /ru Administrator /rp adminpasswd
如下图:
用system账户,并设置最高权限执行
schtasks /create /sc minute /mo 20 /tn “Test Script” /tr C:\test\test.vbs /ru SYSTEM /RL HIGHEST
每小时执行一次
schtasks /create /sc hourly /st 00:05:00 /tn “Test Script” /tr C:\test\test.vbs
每5小时执行一次
下面的命令计划程序从 年 11 月的第一天起每五小时运行一次。它使用/mo参数来指定间隔时间,使用/sd参数来指定起始日期。由于命令没有指定起始时间,当前时间被用作起始时间。
schtasks /create /sc hourly /mo 5 /sd /11/01 /tn “Test Script” /tr C:\test\test.vbs
每天运行一次
下面的计划,程序在每天的 8:00运行一次,直到 年 12 月 31 日结束。由于它忽略了/mo参数,所以使用默认间隔 1 来每天运行命令。
schtasks /create /tn “Test Script” /tr C:\test\test.vbs /sc daily /st 08:00:00 /ed /12/31
下面的计划,程序从 10月31日起每隔一天在 13:00 运行。命令使用/mo参数来指定两 (2) 天的间隔。
schtasks /create /tn “Test Script” /tr C:\test\test.vbs /sc daily /mo 2 /st 13:00:00 /sd /10/31