Windows 10中批量导入导出定时任务须用schtasks.exe(单任务XML导出/批量导入)或PowerShell(全量导出);schtasks不支持导出全部任务,/query /tn是唯一有效导出方式,/export已弃用;管理员权限为必需。

要在Windows 10中不打开图形界面、不逐个右键操作,直接用命令行批量导入导出定时任务,必须使用schtasks.exe工具——它原生支持XML格式任务定义,但【不支持直接导出全部任务】,只能单任务导出;而导入则可批量执行。
导出单个任务为XML文件
这一步必须知道任务的确切名称,名称区分大小写且含空格时需用英文双引号包裹。
以管理员身份打开CMD或PowerShell,执行:
schtasks /query /tn "每日清理临时文件" /xml > "C:\Backup\cleanup.xml"
注意:/query /tn参数组合是唯一能导出单任务XML的方式;若任务名错误或不存在,命令会报错并生成空文件。不要用/export参数——它已被弃用且在Win10中无效。
导入单个XML任务到本地系统
导入前无需提前创建同名任务,系统会自动注册;但若同名任务已存在,新导入将覆盖旧配置。
执行以下命令:
schtasks /create /tn "每日清理临时文件" /xml "C:\Backup\cleanup.xml"
成功后不会有任何提示,需手动运行schtasks /query /tn "每日清理临时文件"验证是否生效。若提示“拒绝访问”,说明未以管理员身份运行CMD。
批量导入多个XML任务(无交互式确认)
当备份目录下有 cleanup.xml、backup.xml、notify.xml 等多个文件时,可用for循环一次性注册,避免重复敲命令。
第一步:进入备份目录
cd /d C:\Backup
第二步:执行批量导入(跳过已存在同名任务,不报错中断)
for %i in (*.xml) do @schtasks /create /tn "%~ni" /xml "%i" /f 2>nul
其中 /f 参数强制覆盖同名任务,2>nul 屏蔽所有错误输出(例如名称冲突或权限不足),确保循环持续执行。若需看到失败记录,删掉 2>nul 即可。
导出全部任务的替代方案(PowerShell)
schtasks本身无法导出全部任务,这是它的硬性限制。必须切换到PowerShell环境才能实现真正批量导出。
方法一:管理员PowerShell中执行(推荐)
New-Item -ItemType Directory -Path "$env:USERPROFILE\Documents\AllTasks" -Force
Get-ScheduledTask | ForEach-Object { $_ | Export-ScheduledTask | Out-File "$env:USERPROFILE\Documents\AllTasks\$($_.TaskName).xml" -Encoding UTF8 }
注意:【必须以管理员身份运行】,否则部分系统级任务(如Windows Defender相关)将被跳过,导出数量明显少于任务计划程序库中显示的总数。

















