系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

schtasks

创建、查询、运行和删除 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

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. 任务手动 schtasks /run 正常但定时不跑,应先查什么?
  2. 为什么以 SYSTEM 运行的任务访问映射盘会失败?应该怎么改?
  3. 删除任务前如何保留可恢复的备份?
答案
  1. 查触发器/时区、任务是否启用、运行账户和“上次结果”,以及触发时机器是否开机。
  2. SYSTEM 在独立会话中没有用户的映射盘;改用 UNC 路径并给机器/服务账户授权。
  3. 用 schtasks /query /tn ... /xml 导出 XML,恢复时用 schtasks /create /xml 导回。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令