电脑必备
给自动化脚本加定时任务,我拿四台机子试出计划任务和开机自启的差别
69 0 13
最近在折腾一套自动化巡检脚本,主要干两件事:定时抓系统日志和清理临时目录。一开始图省事,直接把脚本扔进启动文件夹,结果四台样机跑了一周,出了三种不一样的毛病,今天把测试过程和数据摆出来,给同样爱手动控制的朋友避避坑。
测试环境
四台机子:两台 Win10 22H2,两台 Win11 23H2,配置都是 i5-10400 + 16G 内存 + 固态。脚本用 PowerShell 写的,逻辑一样,只是触发方式不同。
第一种:启动文件夹
优点就一个,简单,复制粘贴完事。缺点我列一下:
- 必须等用户登录才跑,开机自检阶段完全空白;
- 脚本窗口会闪一下,虽然加了隐藏参数,但 Win11 那台偶尔还是弹黑框;
- 如果脚本执行时间超过 30 秒,用户点开始菜单会明显卡顿,我拿秒表掐过,平均延迟 1.8 秒;
- 最要命的是权限,普通用户权限跑不了清理系统临时目录,得手动提权,四台里有两台直接报拒绝访问。
第二种:任务计划程序
这个是我最后留下的方案。配置的时候注意几个点:
- 触发器选“计算机启动时”,勾上“不管用户是否登录都要运行”,再勾“使用最高权限运行”;
- 条件里把“只有在计算机使用交流电源时才启动”取消,不然笔记本一拔电就不跑;
- 设置里“如果任务失败,按以下频率重新启动”我设了 5 分钟一次,最多三次,防止单个脚本卡死拖垮整条链。
实测数据:四台机子连续跑七天,启动触发成功率 100%,日志时间戳误差都在 2 秒内。对比启动文件夹那组,有两台因为权限问题漏跑了三次。
踩过的坑
任务计划里如果脚本路径带空格,引号必须包住整个路径,不然计划程序会把它拆成两段,报“找不到文件”。我在这上面浪费了半小时,后来拿 Process Monitor 才定位到。
我的判断
如果你跟我一样喜欢手动控制每一步,任务计划程序虽然配置麻烦点,但触发条件和权限模型都透明,出问题能查事件查看器里的任务历史。启动文件夹适合那种“跑不跑无所谓”的脚本,但凡涉及系统目录操作,别偷这个懒。
最后问一句:你们用任务计划跑自动化脚本时,有没有遇到过触发器正常但脚本静默不执行的情况?我有一台 Win10 到现在还没复现出来,想听听大家怎么排查的。
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
