Skip to content

垃圾清理 ​

按类型扫描磁盘垃圾,扫描结果按大小与安全等级呈现,勾选后统一清理。

垃圾清理

能清理什么 ​

内置 23 个分类 / 1623 条规则,覆盖 150+ 款软件,常见分组:

分类典型路径安全等级
系统临时%TEMP%、C:\Windows\Temp、各用户 Local\Temp安全
系统更新C:\Windows\SoftwareDistribution\Download安全
系统日志C:\Windows\Logs、PerfLogs、崩溃转储安全 / 谨慎
系统组件Downloaded Program Files、Prefetch谨慎
浏览器Edge / Chrome / Firefox 缓存安全
开发缓存npm、pip、NuGet、Gradle、Maven 缓存安全
应用缓存QQ / 微信 / 钉钉 / 网盘 / 输入法等客户端缓存安全 / 谨慎
回收站各分区 $Recycle.Bin谨慎

每条规则都标注 是否需要管理员、是否建议先关闭相关程序,避免清理时文件被占用。

操作步骤 ​

页面刻意只做三件事:看磁盘、扫描、清理。

  1. 进页面先看磁盘占用 ——列表显示每个分区的已用 / 总容量与百分比,不用点任何按钮。
  2. 扫描 ——页面中间只有一个「扫描」按钮,直接分析全盘(不需要预先选择扫描哪类垃圾)。扫描过程显示进度与当前路径,可随时等待完成。
  3. 勾选 ——结果按分类折叠展示,每条显示名称、文件数、安全等级与体积。可点分类右侧「全选」,也可逐条勾选;顶部实时显示「合计 / 已选」。
  4. 清理 ——点「清理所选」执行,被占用的文件会登记为"重启后删除";完成后自动重新扫描并释放空间统计。

为什么不允许手动指定扫描目录

扫描范围固定在系统盘与数据盘的真实垃圾路径上(规则表里已经写好了 %TEMP%、SoftwareDistribution\Download、浏览器与开发工具缓存等)。让人手动加路径,实际只会拖慢扫描、并让"清理了哪"变得不可预期 —— 需要精确清理某个目录时,用资源管理器更直接。

实现要点 ​

  • 枚举:FileSystemEnumerable<T> + EnumerationOptions(跳过重解析点,避免走进符号链接循环),并行统计,NVMe 上可达数万文件/秒。
  • 路径模板:规则用 %ENV%、{Drive}、{AllUsers}、* 等占位符描述,避免写死盘符;* 只在必要时逐段展开,不做全盘递归。
  • 安全护栏:删除前统一经过路径校验,拦截盘符根目录、系统关键目录与含 .. 的路径。
  • 占用处理:MoveFileEx(..., MOVEFILE_DELAY_UNTIL_REBOOT) 标记重启删除;回收站用 SHEmptyRecycleBin 清空。
  • 到回收站:设置里可开启"清理到回收站",改用可恢复的删除方式。

注意事项 ​

清理前请确认

  • 「系统更新缓存」删除后,已下载但未安装的补丁需要重新下载。
  • 「Prefetch」删除后,程序首次启动会稍慢(系统会自动重建)。
  • 部分国产软件的缓存目录里含聊天记录/配置文件,删除前请确认规则描述。

规则数据在 src/WinTools.Infrastructure/Rules/cleanup-rules.json,可自行增补(格式见 开发指引)。

基于 AGPL-3.0 许可发布 · 使用前请备份重要数据