schtasks是Windows内置命令行工具,用于创建、查询、启用/禁用、删除、立即运行及导出导入计划任务;操作需管理员权限,关键参数包括/create、/query、/change、/delete、/run和/xml。

如何使用 schtasks 命令创建和管理计划任务【命令行】  第1张

如果您需要在 Windows 系统中通过命令行创建、修改、查询或删除计划任务,schtasks 命令是内置的权威工具。以下是使用该命令执行各类任务管理操作的具体步骤:

一、创建基本计划任务

使用 /create 参数可新建一个一次性或周期性运行的任务,需指定任务名称、触发器和要执行的操作。所有参数必须完整提供,否则命令将失败。

1、以管理员身份打开命令提示符或 PowerShell。

2、输入以下命令创建每日凌晨 2 点运行记事本的任务:
schtasks /create /tn "DailyNotepad" /tr "notepad.exe" /sc daily /st 02:00

3、按 Enter 执行,若显示“已成功创建计划任务”,则任务注册完成。

二、创建带用户上下文的计划任务

当任务需访问网络资源、桌面交互或特定用户配置时,必须显式指定运行用户及密码;否则任务可能因权限不足而静默失败。

1、确保目标账户具有“作为服务登录”权限(可通过本地安全策略配置)。

2、执行命令,替换 domain\username 和 password 为实际值:
schtasks /create /tn "UserTask" /tr "cmd.exe /c echo Hello > C:\log.txt" /sc once /st 14:30 /ru "domain\username" /rp "password"

3、如提示“错误:访问被拒绝”,请确认账户密码正确且具备任务调度权限。

三、查询已注册的计划任务

使用 /query 参数可列出系统中所有任务及其状态,帮助快速定位任务是否存在、是否启用或最近运行结果。

1、运行基础查询命令查看简略列表:
schtasks /query

2、添加 /fo LIST 参数获取详细字段信息(包括上次运行时间、状态、下一次运行时间):
schtasks /query /fo LIST /v

3、筛选特定任务时,使用 /tn 指定名称:
schtasks /query /tn "DailyNotepad" /fo LIST

四、启用或禁用已有任务

禁用任务可临时阻止其触发而不删除配置;启用则恢复调度行为。该操作不改变任务定义,仅切换其激活状态。

1、禁用名为 "UserTask" 的任务:
schtasks /change /tn "UserTask" /disable

2、启用已被禁用的任务:
schtasks /change /tn "UserTask" /enable

3、执行后检查状态是否更新:
schtasks /query /tn "UserTask" /fo LIST | findstr "状态"

五、删除指定计划任务

使用 /delete 参数可彻底移除任务及其所有触发器与操作配置。该操作不可逆,且无需确认提示(除非添加 /f 参数强制执行)。

1、删除单个任务(会提示确认):
schtasks /delete /tn "DailyNotepad"

2、强制删除不提示确认:
schtasks /delete /tn "DailyNotepad" /f

3、批量删除多个任务需重复执行命令,schtasks 不支持通配符或正则匹配删除

六、运行已注册任务立即执行

/run 参数用于手动触发任务,绕过原定触发器条件,适用于测试任务脚本逻辑或紧急补救场景。

1、确保任务已启用且未处于“运行中”状态。

2、执行立即运行指令:
schtasks /run /tn "UserTask"

3、任务启动后可在任务计划程序库中查看“上次运行结果”,若返回 0x0 表示成功,非零值代表具体错误代码

七、导出与导入任务 XML 配置

通过 /xml 和 /xml 参数可将任务定义保存为标准 XML 文件,便于跨机器迁移或版本控制;导入时保留全部触发器、条件与安全设置。

1、导出任务配置到文件:
schtasks /query /tn "UserTask" /xml > C:\UserTask.xml

2、在目标系统上导入该 XML(需管理员权限):
schtasks /create /xml "C:\UserTask.xml" /tn "UserTask-Imported"

3、导入后任务名由 /tn 指定,原始任务名不会自动继承,必须显式声明