Windows任务计划程序不支持运行后自动删除,但可通过创建一次性任务(推荐)、脚本自删或PowerShell注册+手动注销实现;优先选用“仅执行一次”触发器最稳定可靠。
windows 任务计划程序本身不支持“运行一次后自动删除”这一原生行为,但可以通过组合设置 + 小技巧实现效果:让任务执行完毕即禁用自身,再借助另一任务或脚本在执行后清理——不过最实用、最稳定的做法是创建一次性任务,并手动或脚本化地在触发后删除它。下面分场景说明具体操作。
直接创建“仅执行一次”的任务(推荐首选)
这是最干净的方式:任务按设定时间运行一次,之后自然不再触发,无需删除也能保持系统清爽。
- 打开任务计划程序(Win+R → 输入 taskschd.msc → 回车)
- 右侧点击【创建基本任务…】
- 命名任务(如“2026-07-30_18:00_临时通知”),描述可填用途,点【下一步】
- 触发器选【一次】→ 设置精确的日期和时间(例如 2026-07-30 18:00)→ 【下一步】
- 操作选【启动程序】,填入你要运行的程序或脚本路径
- 完成创建后,该任务状态为“准备就绪”,只会在指定时刻运行一次,之后不会重复,也不会自动删除,但也不会再干扰你
让任务运行后自我删除(需额外脚本支持)
若你确实希望任务执行完立刻从计划任务库中消失,需借助批处理或 PowerShell 脚本,在主操作后调用 schtasks /delete 命令删掉自己。
- 假设你的任务名叫 OneTimeCleanup,主操作是运行
C:\Scripts\do_work.bat - 把
do_work.bat最后一行加上:schtasks /delete /tn "OneTimeCleanup" /f - 注意:该命令需有足够权限(建议任务属性中勾选【使用最高权限运行】)
- 确保脚本以管理员权限运行,否则删除会失败并报错“拒绝访问”
用 PowerShell 创建并立即注册一次性任务(更可控)
PowerShell 可以一步创建、运行、删除,适合自动化部署或临时调试。
- 以管理员身份打开 PowerShell
- 运行以下命令(替换为你自己的路径和时间):
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-ExecutionPolicy Bypass -File C:\Scripts\task.ps1"<br>$trigger = New-ScheduledTaskTrigger -Once -At "2026-07-30T18:00:00"<br>$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries<br>Register-ScheduledTask "TempRunOnce" -Action $action -Trigger $trigger -Settings $settings
- 任务执行后,手动运行:
Unregister-ScheduledTask -TaskName "TempRunOnce" -Confirm:$false
注意事项与避坑提醒
任务计划程序没有“运行后自删”的内置开关,强行依赖自动删除容易因权限、路径或时机问题失败。实际使用中:
- 优先采用【一次性触发器】,逻辑清晰、零风险
- 如必须自删,请确保脚本运行账户对任务计划库有修改权限(SYSTEM 或管理员)
- 不要用普通用户账户运行含
schtasks /delete的脚本,大概率失败 - 删除前可用
schtasks /query /tn "任务名"验证是否存在,避免误删提示

















