系统学习 学习路径总入口:先选领域,再建立模型,最后用故障演练验证

让脚本按时间、登录或事件自动运行,并能查到最后一次运行结果

适用场景

定时备份、清理临时文件、开机拉起后台脚本,或需要“用户登录后运行/不管用户是否登录都运行”的任务时使用。不要用计划任务运行需要交互界面的程序,也不要把密码明文写进批处理;任务保存的是凭据引用,脚本本身仍要避免硬编码密码。

前置条件

操作步骤

1. 图形界面

Win+R 输入 taskschd.msc,用“创建任务”(不是“创建基本任务”):常规页选账户和“不管用户是否登录都运行”,触发器页加时间/登录/事件,操作页填程序、参数和“起始于”目录。

2. 命令行创建和查询

C:\> schtasks /create /tn "MyBackup" /tr "C:\Scripts\backup.cmd" /sc daily /st 02:30 /ru SYSTEM /rl HIGHEST
C:\> schtasks /query /tn "MyBackup" /v /fo LIST
C:\> schtasks /run /tn "MyBackup"
C:\> schtasks /change /tn "MyBackup" /st 03:00

/tr 路径含空格时整体加引号;/ru SYSTEM 不需要 /rp,普通账户需要。

3. 导出、导入和删除

C:\> schtasks /query /tn "MyBackup" /xml > C:\backup\MyBackup.xml
C:\> schtasks /create /tn "MyBackup" /xml C:\backup\MyBackup.xml
C:\> schtasks /delete /tn "MyBackup" /f

影响范围:/delete /f 立即删除任务定义且不询问;修改前先导出 XML。XML 含触发器和账户信息,导入到另一台机器前检查路径与账户是否存在。

4. PowerShell 对照

PS C:\> Get-ScheduledTask -TaskName "MyBackup" | Get-ScheduledTaskInfo
PS C:\> Start-ScheduledTask -TaskName "MyBackup"
PS C:\> Get-ScheduledTask -TaskName "MyBackup" | Format-List TaskPath,State

验证

回滚与风险

相关命令

参考链接

读完自测

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

  1. 任务“上次运行结果”为 0x41301 表示什么?
  2. 手动运行成功、定时运行失败,优先检查哪两项?
  3. 修改任务前如何保留可回滚的定义?
答案
  1. 表示任务正在运行,不是失败。
  2. 检查“起始于”工作目录和运行账户的权限/网络凭据。
  3. 用 schtasks /query /tn ... /xml 导出,回滚时 /create /xml 导入。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令