电脑必备
用计划任务自动清Temp,我拿三台机子跑了一周才敢说稳不稳
71 0 13
最近折腾自动化清理,把 Windows 的 Temp 目录交给计划任务定时清空。网上教程一搜一大把,但真敢直接上生产机的没几个。我拿三台机器(Win10 22H2、Win11 23H2、Win11 24H2)各跑了一周,记录了点数据,分享出来给想偷懒又怕翻车的兄弟参考。
先说方案:计划任务触发时跑一个批处理,只删 %TEMP% 下超过 3 天没修改的文件,并且排除正在被占用的进程。批处理核心就两行:forfiles /p "%TEMP%" /s /m *.* /d -3 /c "cmd /c del /f /q @path" 加上错误输出重定向到日志。
踩坑记录:
- 第一版直接
rd /s /q %TEMP%,结果把某办公软件的解压临时目录端了,它正解压一半直接报错。后来改成只删 3 天前的旧文件,问题消失。 - 计划任务默认用 SYSTEM 账户跑,删不掉用户级 Temp 里某些文件,得改成“只在用户登录时运行”并以当前用户身份执行。
- 24H2 上
forfiles对长路径有坑,遇到超过 260 字符的路径会静默跳过,得配合\\?\前缀或者用 PowerShell 的Get-ChildItem -LiteralPath。
实测数据:三台机子一周下来,平均每次清理释放 1.2GB~3.8GB,其中大头是浏览器缓存和安装包残留。日志里被跳过的文件占比约 7%,基本都是正在被占用的。没有出现任何软件异常。
我的判断:自动清理适合懒人,设好就不管了;但我自己还是留了个手动入口——每周五下班前跑一次带预览的脚本,先列清单再决定删不删。软领那种一键优化确实省心,无广告这点我也认,但清理策略不透明,我这种手动党还是更信自己写的脚本,至少每一条删除规则都能对账。
抛个问题:你们用计划任务清 Temp 的时候,怎么处理“正在被占用”的文件?我目前是直接跳过,但总觉得不够优雅,有没有更稳的排除方案?
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
