创建、查询、运行和删除 Windows 计划任务。
schtasks 管理任务计划程序:按日/周/登录/启动触发脚本,指定运行账户和权限。它适合备份、清理、巡检等无人值守任务;/query 也常用于审计机器上有哪些持久化任务、它们以什么账户运行。
边界:它创建的是 Windows 计划任务,不是 Linux cron。复杂条件(空闲、电源、失败重试、多触发器)用 /create /xml 导入 XML 更可控。任务能否访问网络盘取决于运行账户:SYSTEM 看不到用户的映射盘,应使用 UNC 路径,并给机器账户或服务账户授权。
Windows 10/11 行为一致。PowerShell 用 Register-ScheduledTask、Get-ScheduledTask 做对象化操作;schtasks 胜在兼容旧系统、可远程、语法固定。任务计划程序服务未运行时,所有操作都会失败。
影响范围:
/delete删除任务定义后不再触发;/change /ru改运行账户可能让任务因缺少权限而静默失败;/change /disable会停止后续触发。前置条件:先用schtasks /query /tn "任务名" /xml导出 XML 备份并记录账户。恢复方式:用schtasks /create /xml导回;历史结果在事件日志Microsoft-Windows-TaskScheduler/Operational。
# 1. 列出所有任务,含下次运行时间和状态
schtasks /query /fo TABLE
# 2. 查单个任务的详情(触发器、账户、上次结果)
schtasks /query /tn "NightlyBackup" /v /fo LIST
# 3. 每天 02:00 以 SYSTEM 运行备份脚本
schtasks /create /tn "NightlyBackup" /tr "C:\Scripts\backup.cmd" /sc daily /st 02:00 /ru SYSTEM
# 4. 每周一 09:00 以最高权限运行,需管理员创建
schtasks /create /tn "WeeklyReport" /tr "C:\Scripts\report.cmd" /sc weekly /d MON /st 09:00 /rl HIGHEST
# 5. 立即手动触发,先验证脚本本身没问题
schtasks /run /tn "NightlyBackup"
# 6. 临时停用/启用,不删除任务定义
schtasks /change /tn "NightlyBackup" /disable
schtasks /change /tn "NightlyBackup" /enable
# 7. 用 XML 复制复杂触发器(先导出原任务)
schtasks /query /tn "NightlyBackup" /xml > C:\Temp\NightlyBackup.xml
schtasks /create /tn "NightlyBackup2" /xml C:\Temp\NightlyBackup.xml
# 8. 删除任务;执行前确认已导出 XML
schtasks /delete /tn "NightlyBackup" /f
C:\Windows\System32,相对路径全部失效;/tr 用绝对路径,或在脚本里先 cd /d 到目标目录。/tr 路径含空格却没加引号:任务被截断成错误命令;整个 /tr 参数用双引号包住,脚本内部路径再按需转义。/ru//rp:任务默认只在用户登录时运行,锁屏/注销后不触发;后台任务用 SYSTEM 或专用服务账户。/sc daily /st 02:00 在机器休眠/关机时不会补跑;需要“错过计划后尽快启动”时用 XML 的 StartWhenAvailable。/delete /f 立即删除且不询问;先 /query /xml 导出,恢复靠 /create /xml。ERROR: The RPC server is unavailable:任务计划程序服务未启动、远程防火墙未放行 RPC;先 sc query schedule。schtasks 命令失败;在脚本里记录退出码和日志。crontab — Linux 定时任务对照at — Linux 一次性定时任务对照systemd-run — systemd 定时/临时单元对照合上页面,先回答,再展开对照。
schtasks /run 正常但定时不跑,应先查什么?schtasks /query /tn ... /xml 导出 XML,恢复时用 schtasks /create /xml 导回。
小程序版
微信扫码,随时查命令