目录
- 基础命令结构
- 周期任务参数
/sc
详解
• 每分钟执行
• 每小时执行
• 每天执行
• 每周执行
• 每月执行
• 指定时间点执行
• 系统启动时执行
• 用户登录时执行 - 高级修饰符
/mo
- 示例命令汇总
- 注意事项
1. 基础命令结构
schtasks /create /tn "任务名称" /tr "脚本路径" /sc <计划类型> [/mo <修饰符>] [/st 开始时间] [/ed 结束日期]
• /tn
: 任务名称(唯一标识)。
• /tr
: 要执行的脚本或程序路径。
• /sc
: 计划类型(如每分钟、每天等)。
• /mo
: 修饰符(可选,用于调整间隔周期)。
• /st
: 开始时间(格式 HH:mm
,默认为当前时间)。
• /ed
: 结束日期(格式 YYYY-MM-DD
,可选)。
2. 周期任务参数 /sc
详解
每分钟执行
• /sc minute
: 每分钟运行一次。
• /mo <N>
: 指定间隔分钟数(默认为1)。
# 每5分钟执行一次
schtasks /create /tn "MyTask" /tr "C:\script.bat" /sc minute /mo 5
每小时执行
• /sc hourly
: 每小时运行一次。
• /mo <N>
: 指定间隔小时数(默认为1)。
# 每2小时执行一次(从09:30开始)
schtasks /create /tn "MyTask" /tr "C:\script.bat" /sc hourly /mo 2 /st 09:30
每天执行
• /sc daily
: 每天运行一次。
• /mo <N>
: 间隔天数(默认为1)。
# 每天08:00执行
schtasks /create /tn "MyTask" /tr "C:\script.bat" /sc daily /st 08:00
每周执行
• /sc weekly
: 每周运行一次。
• /d
: 指定星期几(如 MON,TUE
)。
# 每周一和周五的18:00执行
schtasks /create /tn "MyTask" /tr "C:\script.bat" /sc weekly /d MON,FRI /st 18:00
每月执行
• /sc monthly
: 每月运行一次。
• /d
: 指定日期(如 1
或 15
)。
# 每月1号的00:00执行
schtasks /create /tn "MyTask" /tr "C:\script.bat" /sc monthly /d 1 /st 00:00
指定时间点执行
• /sc once
: 仅运行一次。
# 在2023-12-31 23:59执行
schtasks /create /tn "MyTask" /tr "C:\script.bat" /sc once /st 23:59 /ed 2023-12-31
系统启动时执行
• /sc onstart
: 系统启动时运行。
schtasks /create /tn "StartupTask" /tr "C:\script.bat" /sc onstart
用户登录时执行
• /sc onlogon
: 用户登录时运行。
schtasks /create /tn "LoginTask" /tr "C:\script.bat" /sc onlogon
3. 高级修饰符 /mo
• 用于调整 /sc
的间隔周期:
• /sc minute /mo 15
: 每15分钟。
• /sc hourly /mo 3
: 每3小时。
• /sc daily /mo 7
: 每7天。
4. 示例命令汇总
场景 | 命令 |
---|---|
每30分钟执行一次 | schtasks /create /tn "Task1" /tr "C:\task.bat" /sc minute /mo 30 |
每天凌晨2点执行 | schtasks /create /tn "Task2" /tr "C:\task.bat" /sc daily /st 02:00 |
每周一和周四10:30执行 | schtasks /create /tn "Task3" /tr "C:\task.bat" /sc weekly /d MON,THU /st 10:30 |
系统启动时执行 | schtasks /create /tn "Task4" /tr "C:\task.bat" /sc onstart |
5. 注意事项
- 秒级任务:
schtasks
不支持秒级间隔,需通过每分钟执行多次脚本实现。 - 管理员权限:需以管理员身份运行命令提示符。
- 路径转义:路径含空格时使用双引号包裹(如
"C:\Program Files\script.bat"
)。 - 任务管理:
• 查看任务:schtasks /query | findstr "任务名称"
• 删除任务:schtasks /delete /tn "任务名称" /f
通过灵活组合 /sc
和 /mo
,可以满足绝大多数定时任务需求。建议在正式使用前通过测试任务验证配置。