合 Windows设置定时任务(任务计划程序)
简介
自动化工具,往往需要使用定时功能;比如实现每天定期拷贝备份文件的操作或每天定时备份数据库,这些都可以写成一个bat文件,并添加到定时任务;
目前有两种操作方式;
- 图像界面操作
- Schtasks命令行操作
打开命令为taskschd.msc
图像界面操作
1.左下角点击鼠标右键->点击计算机管理
- 打开“任务计划程序” ->点击“任务计划程序库” 在右则会看到操作项里有“创建基本任务”和“创建任务”。这2个选项都可以。
Schtasks命令行操作
安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | help Schtasks SCHTASKS /parameter [arguments] 描述: 允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任 务。 参数列表: /Create 创建新计划任务。 /Delete 删除计划任务。 /Query 显示所有计划任务。 /Change 更改计划任务属性。 /Run 按需运行计划任务。 /End 中止当前正在运行的计划任务。 /ShowSid 显示与计划的任务名称相应的安全标识符。 /? 显示此帮助消息。 Examples: SCHTASKS SCHTASKS /? SCHTASKS /Run /? SCHTASKS /End /? SCHTASKS /Create /? SCHTASKS /Delete /? SCHTASKS /Query /? SCHTASKS /Change /? SCHTASKS /ShowSid /? SCHTASKS /Create /? SCHTASKS /Create /? SCHTASKS /Create [/S system [/U username [/P [password]]]] [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day] [/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime] [/RI interval] [ {/ET endtime | /DU duration} [/K] [/XML xmlfile] [/V1]] [/SD startdate] [/ED enddate] [/IT | /NP] [/Z] [/F] [/HRESULT] [/?] 描述: 允许管理员在本地或远程系统上创建计划任务。 参数列表: /S system 指定要连接到的远程系统。如果省略这个 系统参数,默认是本地系统。 /U username 指定应在其中执行 SchTasks.exe 的用户上下文。 /P [password] 指定给定用户上下文的密码。如果省略则 提示输入。 /RU username 指定任务在其下运行的“运行方式”用户 帐户(用户上下文)。对于系统帐户,有效 值是 ""、"NT AUTHORITY\SYSTEM" 或 "SYSTEM"。 对于 v2 任务,"NT AUTHORITY\LOCALSERVICE"和 "NT AUTHORITY\NETWORKSERVICE"以及常见的 SID 对这三个也都可用。 /RP [password] 指定“运行方式”用户的密码。要提示输 入密码,值必须是 "*" 或无。系统帐户会忽略该 密码。必须和 /RU 或 /XML 开关一起使用。 /RU/XML /SC schedule 指定计划频率。 有效计划任务: MINUTE、 HOURLY、DAILY、WEEKLY、 MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT. /MO modifier 改进计划类型以允许更好地控制计划重复 周期。有效值列于下面“修改者”部分中。 /D days 指定该周内运行任务的日期。有效值: MON、TUE、WED、THU、FRI、SAT、SUN 和对 MONTHLY 计划的 1 - 31 (某月中的日期)。通配符“*”指定所有日期。 /M months 指定一年内的某月。默认是该月的第一天。 有效值: JAN、FEB、MAR、APR、MAY、JUN、 JUL、 AUG、SEP、OCT、NOV 和 DEC。通配符 “*” 指定所有的月。 /I idletime 指定运行一个已计划的 ONIDLE 任务之前 要等待的空闲时间。 有效值范围: 1 到 999 分钟。 /TN taskname 以路径\名称形式指定 对此计划任务进行唯一标识的字符串。 /TR taskrun 指定在这个计划时间运行的程序的路径 和文件名。 例如: C:\windows\system32\calc.exe /ST starttime 指定运行任务的开始时间。 时间格式为 HH:mm (24 小时时间),例如 14:30 表示 2:30 PM。如果未指定 /ST,则默认值为 当前时间。/SC ONCE 必需有此选项。 /RI interval 用分钟指定重复间隔。这不适用于 计划类型: MINUTE、HOURLY、 ONSTART, ONLOGON, ONIDLE, ONEVENT. 有效范围: 1 - 599940 分钟。 如果已指定 /ET 或 /DU,则其默认值为 10 分钟。 /ET endtime 指定运行任务的结束时间。 时间格式为 HH:mm (24 小时时间),例如,14:50 表示 2:50 PM。 这不适用于计划类型: ONSTART、 ONLOGON, ONIDLE, ONEVENT. /DU duration 指定运行任务的持续时间。 时间格式为 HH:mm。这不适用于 /ET 和 计划类型: ONSTART, ONLOGON, ONIDLE, ONEVENT. 对于 /V1 任务,如果已指定 /RI,则持续时间默认值为 1 小时。 /K 在结束时间或持续时间终止任务。 这不适用于计划类型: ONSTART、 ONLOGON, ONIDLE, ONEVENT. 必须指定 /ET 或 /DU。 /SD startdate 指定运行任务的第一个日期。 格式为 yyyy/mm/dd。默认值为 当前日期。这不适用于计划类型: ONCE、 ONSTART, ONLOGON, ONIDLE, ONEVENT. /ED enddate 指定此任务运行的最后一天的日期。 格式是 yyyy/mm/dd。这不适用于计划类型: ONCE、ONSTART、ONLOGON、ONIDLE。 /EC ChannelName 为 OnEvent 触发器指定事件通道。 /IT 仅有在 /RU 用户当前已登录且 作业正在运行时才可以交互式运行任务。 此任务只有在用户已登录的情况下才运行。 /NP 不储存任何密码。任务以给定用户的身份 非交互的方式运行。只有本地资源可用。 /Z 标记在最终运行完任务后删除任务。 /XML xmlfile 从文件的指定任务 XML 中创建任务。 可以组合使用 /RU 和 /RP 开关,或者在任务 XML 已包含 主体时单独使用 /RP。 /V1 创建 Vista 以前的平台可以看见的任务。 不兼容 /XML。 /F 如果指定的任务已经存在,则强制创建 任务并抑制警告。 /RL level 为作业设置运行级别。有效值为 LIMITED 和 HIGHEST。默认值为 LIMITED。 /DELAY delaytime 指定触发触发器后延迟任务运行的 等待时间。时间格式为 mmmm:ss。此选项仅对计划类型 ONSTART, ONLOGON, ONEVENT. /HRESULT 为获得更出色的故障诊断能力,处理退出代码 将采用 HRESULT 格式。 /? 显示此帮助消息。 修改者: 按计划类型的 /MO 开关的有效值: MINUTE: 1 到 1439 分钟。 HOURLY: 1 - 23 小时。 DAILY: 1 到 365 天。 WEEKLY: 1 到 52 周。 ONCE: 无修改者。 ONSTART: 无修改者。 ONLOGON: 无修改者。 ONIDLE: 无修改者。 MONTHLY: 1 到 12,或 FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY。 ONEVENT: XPath 事件查询字符串。 示例: ==> 在远程机器 "ABC" 上创建计划任务 "doc", 该机器每小时在 "runasuser" 用户下运行 notepad.exe。 SCHTASKS /Create /S ABC /U user /P password /RU runasuser /RP runaspassword /SC HOURLY /TN doc /TR notepad ==> 在远程机器 "ABC" 上创建计划任务 "accountant", 在指定的开始日期和结束日期之间的开始时间和结束时间内, 每隔五分钟运行 calc.exe。 SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE /MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00 /SD 06/06/2006 /ED 06/06/2006 /RU runasuser /RP userpassword ==> 创建计划任务 "gametime",在每月的第一个星期天 运行“空当接龙”。 SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN gametime /TR c:\windows\system32\freecell ==> 在远程机器 "ABC" 创建计划任务 "report", 每个星期运行 notepad.exe。 SCHTASKS /Create /S ABC /U user /P password /RU runasuser /RP runaspassword /SC WEEKLY /TN report /TR notepad.exe ==> 在远程机器 "ABC" 创建计划任务 "logtracker", 每隔五分钟从指定的开始时间到无结束时间, 运行 notepad.exe。将提示输入 /RP 密码。 SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE /MO 5 /TN logtracker /TR c:\windows\system32\notepad.exe /ST 18:30 /RU runasuser /RP ==> 创建计划任务 "gaming",每天从 12:00 点开始到 14:00 点自动结束,运行 freecell.exe。 SCHTASKS /Create /SC DAILY /TN gaming /TR c:\freecell /ST 12:00 /ET 14:00 /K ==> 创建计划任务“EventLog”以开始运行 wevtvwr.msc 只要在“系统”通道中发布事件 101 SCHTASKS /Create /TN EventLog /TR wevtvwr.msc /SC ONEVENT /EC System /MO *[System/EventID=101] ==> 文件路径中可以加入空格,但需要加上两组引号, 一组引号用于 CMD.EXE,另一组用于 SchTasks.exe。用于 CMD 的外部引号必须是一对双引号;内部引号可以是一对单引号或 一对转义双引号: SCHTASKS /Create /tr "'c:\program files\internet explorer\iexplorer.exe' \"c:\log data\today.xml\"" ... |
示例:
计划任务每 20 分钟运行一次
下面的命令计划每 20 分钟运行一次。由于命令没有包含起始日期或时间,任务在命令完成 20 分钟后启动,此后每当系统运行它就每 20 分钟运行一次。
1 2 | schtasks /create /sc minute /mo 20 /tn "test2" /tr "C:\Users\kai.cao\OneDrive - BeiGene\桌面\copy.bat" 成功: 成功创建计划任务 "test2"。 |
计划命令每五小时运行一次
下面的命令计划 MyApp 程序从2022 年 3 月的第一天起每五小时运行一次。它使用 /mo 参数来指定间隔时间,使用 /sd 参数来指定起始日期。由于命令没有指定起始时间,当前时间被用作起始时间。
1 | schtasks /create /sc hourly /mo 5 /sd 03/01/2022 /tn "My App" /tr c:\apps\myapp.exe |
计划任务每天运行一次
下面的范例计划 MyApp 程序在每天的 8:00 A.M. 运行一次,直到 2022 年 12 月 31 日结束。由于它忽略了 /mo 参数,所以使用默认间隔 1 来每天运行命令。
1 | schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc daily /st 08:00:00 /ed 12/31/2022 |
计划任务在每次系统启动的时候运行
下面的命令计划 MyApp 程序在每次系统启动的时候运行,起始日期是 2022 年 3 月 15 日。
1 | schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc onstart /sd 03/15/2022 |
总结
1、有次做了bat文件,bat可以正常运行,但是在任务计划中点击后,不能弹出cmd界面,也不能运行,最后取消“不管用户是否登录都要运行”后可以正常运行了。只选择“只在用户登录时运行”和“使用最高权限运行”