30 秒上手(普通用户只用这三条)
> ⚠️ PowerShell 5.1 调用前必须设置 UTF-8 编码,否则脚本中文输出会乱码(不影响执行,只影响显示):
> powershell
> [System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8
> $OutputEncoding = [System.Text.Encoding]::UTF8
>
> 原因:脚本内部已设 [Console]::OutputEncoding = UTF8,但父进程读子进程 stdout 管道时用自身编码解码字节流。PowerShell 5.1 中文 Windows 默认 GBK 解码 UTF-8 字节 → 乱码(如 纾佺洏娓呯悊)。
> 自动化/CI 调用必须加这两行;普通用户双击/在 PowerShell 5.1 手动调用也建议先设。PowerShell 7+ 默认 UTF-8 不受此影响。
| 场景 | 命令 | 效果 |
|---|---|---|
| 日常清理(推荐起点) | scripts\full_cleanup.ps1 -WhatIf → 看预览确认后去掉 -WhatIf 重跑 |
全模块扫描+清理,删除先进隔离区 3 天可找回 |
| 只想看看能清多少 | python scripts\scan_readonly.py |
只读报告,绝不删任何文件 |
| C 盘告急(<10%) | scripts\full_cleanup.ps1 -QuickKill -AutoConfirm |
零扫描 5 秒腾 5-7GB,默认保护微信/浏览器用户数据 |
不想记参数可运行 disk_cleanup_menu.ps1,菜单式逐项选择。
用途
- 全量磁盘清理:系统/应用/腾讯系/AI 工具缓存,三级分级(🟢绿可清 / 🟡黄需确认 / 🔴红只报告)安全清理,删前预览、进隔离区可恢复。
- AI 工具主目录清理(配置驱动):覆盖 WorkBuddy / ZCode / QoderWork / Qoder CN 主目录,新增工具改 JSON 即可,Python + PowerShell 双引擎共读一份配置。
- 系统修复安全网:修复文件夹/驱动器双击打不开、悬空 shell 扩展与 CLSID 本体、重置 IconCache/shellbags(仅删指向已缺失文件的悬空注册表项,删前自动备份注册表,可逆)。
- 分析与迁移:磁盘占用可视化树图、微信/企业微信去重、大目录 Junction 迁移腾 C 盘。
> 完整调用方式、参数表、安全规范、踩坑经验、模块详解见 references/implementation-details.md(AI 执行时照读)。
功能模块概览
| 模块 | 参考工具 | 功能说明 |
|---|---|---|
| 模块一 | SpaceSniffer | 磁盘占用分析,可视化树图,找出空间占用最大的目录和文件 |
| 模块二 | — | AI 工具主目录清理(配置驱动):覆盖 WorkBuddy / ZCode / QoderWork / Qoder CN 主目录的日志/缓存/临时/追踪等可再生数据(配置见 references/ai_tool_homes.json) |
| 模块三 | CCleaner / WindowsCleaner | Windows 系统级临时文件、更新缓存、回收站、Windows.old 清理(可选 DISM 组件存储 + 内存转储清理) |
| 模块四 | AppDataCleaner | 用户 AppData 目录下应用程序缓存动态扫描与清理(含国产软件、浏览器、AI工具) |
| 模块五 | Dumate 实战指南 | 安全缓存清理(普通用户):应用更新器残留、钉钉/企微/浏览器缓存、WPS更新包、崩溃转储、缩略图缓存、回收站、用户临时文件 |
| 模块六 | Dumate 实战指南 | 管理员级清理:Windows更新缓存(takeown+icacls)、旧版Edge WebView2(停进程+保留最新版)、旧版Edge浏览器 |
| 模块七 | — | 审核任务自动清理:审核完成后自动清理 OCR 临时文件、中间 JSON、临时文本 |
| 模块八 | — | 残留目录检测:检测卸载程序后残留的目录和文件(30+ 已知残留项,动态检测) |
| 模块九 | — | 微信/企业微信去重:检测并删除微信和企业微信之间的重复文件 |
| 模块十 | — | Junction 数据迁移:将 C 盘大目录迁移到其他盘,通过 Junction 链接保持路径兼容 |
| 模块十一 | 火绒系统修复 | 系统修复(安全网):修复清理可能造成的系统异常——文件夹/驱动器双击打不开【分两类:① 注册表悬空 CLSID/shellbags 损坏(repair_dangling_clsid.ps1 -Fix,动注册表、需管理员、删前自动备份);② Shell 视图/缩略图缓存陈旧(缩略图能看却双击报"找不到文件",repair_thumbcache.ps1 -Fix 清 thumbcache_*+重启 explorer 即可,不动注册表、用户权限;-SystemRepair 现已优先跑本轻量修复,见 references 系统修复节·鉴别诊断)】、悬空 shell 扩展与 CLSID 本体、IconCache/shellbags 重置(修复前自动备份注册表,可逆;独立脚本 repair_dangling_clsid.ps1 默认仅报告、-Fix 才删) |
| 模块十二 | — | 沙箱只读预扫描:沙箱/无管理员权限下对关键缓存目录做只读体积测量,输出 G/Y/R 三级报告+预估可回收量,绝不删除;复用 references/ai_tool_homes.json 配置驱动 AI 主目录项(脚本 scripts/scan_readonly.py) |
| 模块十三 | — | WinSxS 静默一键清理 + 组件存储损坏修复决策:scripts/winsxs_silent_cleanup.ps1(管理员)——-SafeDism(无 /ResetBase、可逆、保留已装更新回滚副本,推荐默认档)、默认 /ResetBase(永久删除被取代更新回滚副本、不可逆);均记录前后 C 盘可用空间、-WhatIf 预览、无交互,适合值守/定时;87=dism/OS 版本错位时自动转 cleanmgr /d C: /VERYLOWDISK。组件存储损坏修复决策由 scripts/module_componentstore_repair.ps1 承担:只诊断不执行——① 系统版本取证(注册表 ProductName/DisplayVersion/CurrentBuild/EditionID,按 Build 推 ISO 选型)② 三环境判定(在线/C:、安全模式/C:吃 DISM 87 修不了、WinRE/X: 离线可修)③ 还原点检查 ④ 生成 WinRE 离线修复命令草稿(挂载 25H2 中文 ISO → Dism /Image:C:\ /Cleanup-Image /RestoreHealth /Source:WIM:... → sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows)⑤ 不修复风险评估;关联坑库 PF-268/269/272/284/285 |
触发方式速查(首选 scan→clean 流水线,一次扫描覆盖多模块)
- 「分析磁盘占用」「哪些文件占空间」→ scan.ps1(模块一等价能力,含可视化树图)
- 「清理…」「清盘」「释放空间」「C盘不足」「深度清理」「全面清理」→ 默认 scan.ps1 → 一次性确认 → full_cleanup.ps1 -Mode Full(覆盖模块二/三/四/五/六/八/九 的可清理项)
- 「清理 AI 工具主目录」「清理 WorkBuddy/ZCode/Qoder」→ 模块二(
full_cleanup.py --modules aihome,或--tools WorkBuddy,ZCode精选;--modules workbuddy/zcode为向后兼容别名,各自只清单个工具) - 「清理 AI 工具缓存(Cursor/Claude/Ollama 等 30+)」→
full_cleanup.ps1 -UseAiToolRegistry(仅 PowerShell 引擎,见references/implementation-details.md的「AI 缓存注册表(PS-only)」说明) - 「应急清理」「C盘快满」「紧急腾空间」「快清」→
full_cleanup.ps1 -QuickKill -AutoConfirm(零扫描直清固化清单,5秒释放5-7GB,不扫不隔离;预览用 -WhatIf)。默认保护 user_data 目录(微信/Chrome/企微等 User Data,避免丢失书签/密码/聊天记录);-IncludeUserData强制清;-Interactive逐项确认;-WhatIf预览。 - 「QuickKill 释放不足」「进程锁死跳过太多」→
full_cleanup.ps1 -QuickKill -AutoConfirm -ForceClose(强制关闭占用进程后再删;v3.14.7 起-ForceClose还会在删除失败时关闭 Explorer.exe 重试、逐文件清理兜底,覆盖 requires_close=false 的 WebCache/Temp 等系统锁项;注意可能导致应用未保存数据丢失、桌面闪烁) - 「关休眠腾空间」「hiberfil 太大」→
full_cleanup.ps1 -HibernateOff(执行powercfg /h off删除 hiberfil.sys,释放 3-8GB,需管理员;可与 -QuickKill 组合使用) - 「Windows Containers 死数据」「Hyper-V 虚拟盘太大」「
C:\ProgramData\Microsoft\Windows\Containers占用高」→full_cleanup.ps1 -Mode Containers(停 vmms/vmcompute 服务 → 夺权 → 授权 → 删除 → 恢复服务,需管理员;-WhatIf预览、-AutoConfirm非交互执行;亦在-Mode Full末尾自动执行,非交互/未确认则安全跳过) - 「找大文件」「什么占了空间」「大文件扫描」→
find_bigfiles.ps1(v3.14.8 起优先用 Everything (es.exe) MFT 索引毫秒级扫描;未装 Everything 则回退C:\Users\$env:USERNAME目录扫描(30秒内);-FullScan全盘递归(5-15分钟),-ScanPath <路径>指定目录,-Drive D -MinMB 200 -Top 50自定义) - 「安全清理」「应用缓存」→ clean_safe.ps1(模块五,普通用户权限)
- 「管理员清理」「Windows更新缓存」→ clean_admin.ps1(模块六,需管理员权限)
- 「winapp2 更新」「规则库有没有新版」「更新了哪些规则」→ check_winapp2_update.py(默认只读检测;
--diff列出新增/移除/修改的规则清单供决策;--apply才替换并自动备份。推荐:检测→diff→再 apply) - 「检测残留」「清理卸载残留」→ scan_residual.ps1(模块八)
- 「微信去重」「清理微信重复文件」→ dedup_wechat.ps1 -Execute(模块九,先隔离后删)
- 「迁移数据」「移动大目录到D盘」→ migrate.ps1(模块十)
- 「系统修复」「文件夹打不开」「修复双击」→
full_cleanup.ps1 -SystemRepair(模块十一,仅诊断+修复,不清理) - 「沙箱预扫描」「只读看能清多少」「先扫后清」→
scan_readonly.py(模块十二,沙箱只读,输出 G/Y/R 报告,不删文件;真机清理仍走full_cleanup.ps1 -Mode Full) - 「静默清 WinSxS」「一键清组件存储」「值守清系统区」「DISM 87 了」→
winsxs_silent_cleanup.ps1(管理员,无交互;默认/ResetBase不可逆,-SafeDism可逆安全档;87 自动转cleanmgr /d C: /VERYLOWDISK;-WhatIf预览;-DismFirst:$false直走 cleanmgr) - 「组件存储损坏」「sfc 无法修复」「DISM /RestoreHealth 报错」「修复 Windows 组件」「安全模式修不了」→
module_componentstore_repair.ps1(只诊断+生成命令草稿,不执行修复):输出系统版本取证、三环境判定(在线/安全模式不可修→须 WinRE 离线)、还原点检查、WinRE 离线修复命令草稿、不修复风险评估;详见references/implementation-details.md「组件存储修复决策链」 - 「删用户数据/项目文件」「要能恢复的删除」「清测试数据」「清库」「别用 rm 直接删」→
python scripts/recycle_delete.py <路径...> [--dry-run](走 Windows 回收站,资源管理器可"还原";删除路径优先级:ctypes 回收站 > 隔离区Move-Item> 禁用rm/Remove-Item——后者实测真删不可恢复。配套"破坏性批处理四重护栏"见坑库 PF-200) - 黄色项统一在一次确认中处理,不逐项打断;红色项仅报告
安全底线(不可突破)
🟡 高危操作后果速览(执行前必读,黄色=需你确认)
| 操作 | 后果 | 可逆性 |
|---|---|---|
-QuickKill -ForceClose |
强制关闭占用进程(含 Explorer),未保存数据会丢、桌面可能闪烁 | ⚠️ 数据丢失不可逆 |
-QuickKill -IncludeUserData |
连浏览器/微信 User Data 一起清,书签/密码/登录态/聊天记录可能丢 | 🔴 基本不可逆 |
-HibernateOff |
关闭休眠并删除 hiberfil.sys(腾 3-8GB),休眠功能停用 | 可逆(powercfg /h on) |
-Mode Containers |
删除 Windows Containers/Hyper-V 沙箱数据(WDAG 沙盒内应用会重置) | 🔴 不可逆 |
winsxs_silent_cleanup.ps1(/ResetBase) |
旧被取代更新永久不可再卸载;常需重启才最终释放 | 🔴 不可逆 |
winsxs_silent_cleanup.ps1(-SafeDism,无 /ResetBase) |
在线清理被取代组件、保留已装更新回滚副本;回收量小于 /ResetBase | ✅ 可逆 |
module_componentstore_repair.ps1 |
只诊断、生成命令草稿,不执行任何修复;修复须在 WinRE 离线+ISO 源手动完成 | ✅ 零风险(纯读+草稿) |
Dism /Image:C:\ /RestoreHealth(WinRE 离线+ISO) |
用 ISO 内 WIM 源修复组件存储;ISO 大版本须匹配(错版报 0x800f081f) | ⚠️ 需离线+源匹配 |
sfc /scannow(WinRE 内) |
须带 /offbootdir=C:\ /offwindir=C:\Windows 才扫 C:;裸跑扫内存盘 X:(见 PF-269) |
⚠️ 须带参 |
| 安全模式(带 SafeBoot) | 仍在线(C: 活动卷),吃 DISM 87 且禁 WU 源,组件存储修不了,必须进 WinRE(见 PF-272) | 🔴 此路不通 |
dedup_wechat.ps1 -Execute |
删除微信/企微间重复文件(先进隔离区) | ✅ 3 天隔离区内可找回 |
migrate.ps1 |
大目录迁去其他盘并以 Junction 链回,原路径外观不变 | ✅ 可迁回 |
recycle_delete.py |
把文件/目录送入系统回收站(不是 rm、不是真删),资源管理器可"还原" | ✅ 可从回收站恢复 |
- 🔴 红色项(用户数据 / 大文件 / 微信聊天数据 / 迁移候选)只报告,绝不删除
- Junction / 符号链接永不删除(脚本内置
ReparsePoint跳过) - 默认进隔离区(
D:\.workbuddy-disk-cleanup-quarantine,默认 3 天可找回);绿色可再生项按设计直删、删后自动重建 - 个人文件安全红线:绝不递归删除桌面/下载/文档/用户主目录
- 删除前必须出预览报告;系统目录 / 红色项需显式确认
> 完整安全规范、错误兜底、防幻觉规则、乱码文件名处理铁律见 references/implementation-details.md。
附:便携自动化(跨机重建)
本技能自带一个便携自动化 spec:automations/cdisk_quickkill.automation.json("C盘快满自动 QuickKill 清理",每日巡检,>90% 触发零扫描应急清理)。它由 zfl-automation-port 管理,随技能发布自动带上(SkillHub 发布 / 离线 zip 两条通道均包含)。在目标机合并技能后,对 agent 说「导入 zfl-automation-port 管理的便携自动化,工作区用 <目标路径>」即可重建——spec 只随包走,不会自动变成运行的定时任务。
工程纪律门禁指针
本技能创建/升级须过 zfl-skill-factory 的「工程纪律门禁 ED-1~ED-4」:ED-1 上下文是预算(常驻极简+按需加载/MCP 按需)、ED-2 门禁外置为确定性代码 fail-closed、ED-3 流程当被测对象(temp=0 确定性评测)、ED-4 经验三级进化 lesson→pattern→instinct。单一可信源与细则见 @see zfl-skill-factory §工程纪律门禁(references/gates.yaml)。
约束与错误处理
- 本技能仅处理其声明范围内的任务,不越界执行未授权操作。
- 错误处理:输入不合法时返回明确错误说明,不静默跳过;依赖缺失时降级提示并给出替代路径。
输出与格式
- 输出格式:结构化文本,包含明确的章节划分与关键结论。
- 输出结构:按任务类型返回对应格式,确保可读性与可追溯性。
自检与成功标准
- 成功标准:输出满足任务声明的全部要求,关键信息完整无遗漏,视为完成。
- 输出前自检:核对输出是否覆盖全部要求项、数据是否准确、格式是否符合规范。