定时备份、清理临时文件、开机拉起后台脚本,或需要“用户登录后运行/不管用户是否登录都运行”的任务时使用。不要用计划任务运行需要交互界面的程序,也不要把密码明文写进批处理;任务保存的是凭据引用,脚本本身仍要避免硬编码密码。
Win+R 输入 taskschd.msc,用“创建任务”(不是“创建基本任务”):常规页选账户和“不管用户是否登录都运行”,触发器页加时间/登录/事件,操作页填程序、参数和“起始于”目录。
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,普通账户需要。
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 含触发器和账户信息,导入到另一台机器前检查路径与账户是否存在。
PS C:\> Get-ScheduledTask -TaskName "MyBackup" | Get-ScheduledTaskInfo
PS C:\> Start-ScheduledTask -TaskName "MyBackup"
PS C:\> Get-ScheduledTask -TaskName "MyBackup" | Format-List TaskPath,State
schtasks /query /tn "MyBackup" /v /fo LIST 看 Last Run Time 和 Last Result;0 成功,0x41301 表示正在运行。schtasks /query /xml 导出,回滚时删除现有任务再 /create /xml 导入。/delete /f 删除任务定义,不删脚本和日志;误删只能靠 XML 或重建。合上页面,先回答,再展开对照。
schtasks /query /tn ... /xml 导出,回滚时 /create /xml 导入。
小程序版
微信扫码,随时查命令