安全优先、规则透明的 Windows C 盘清理工具
English · 简体中文
- 从 Releases 下载
CDriveCare-v0.3.0-win.zip。 - 解压后双击
CDriveCare.exe,接受 Windows 管理员权限提示。 - 等待自动扫描,核对勾选项后点击“清理所选”。
无需安装 Python、Rust 或第三方运行库。支持 Windows 10 22H2 与 Windows 11,不包含遥测和广告。程序启动后仅向 GitHub Releases API 检查一次新版本,不上传扫描结果、日志、文件名或设备标识;可用 --no-update-check 完全关闭,详见 更新检查与隐私。
当前发布文件未进行商业代码签名,Windows SmartScreen 可能显示“未知发布者”。请只从本仓库 Release 下载,并用随附的
SHA256SUMS.txt核对文件。
很多清理脚本把“能删除”误当成“应该删除”,甚至直接清空 Downloads、Windows\Installer、Defender 隔离区、更新数据库、Prefetch 或整个 AppData。短期数字很好看,问题往往在下次更新、卸载软件、恢复驱动或排查故障时才出现。
CDriveCare 的目标不是清得最多,而是在每个规则都能解释、能限制、能审计的前提下,清理明确可重建或可重新下载的数据。
- 29 条内嵌规则:
rules.json只作为构建输入嵌入 EXE;运行时不读取同目录外部规则,启动时严格校验 schema、必填/未知/重复字段、规则 ID、风险、动作、年龄门槛和路径白名单,任何异常都会拒绝加载。 - 先扫描再清理:逐项显示预计空间、文件数、风险和影响。
- 日常 / 深度模式:“日常清理”只选择有内容的低风险项;“深度清理”增加需确认的文件规则,但回收站和 Windows 托管动作仍需逐项手动选择。
- 驱动缓存分层:可清理 NVIDIA/AMD 着色器缓存、厂商下载/解压残留;DriverStore 只导出报告,绝不自动删。
- Windows 托管动作:传递优化使用
Delete-DeliveryOptimizationCache,组件存储使用 DISMStartComponentCleanup。 - 只读空间分析:并行统计 LocalAppData/RoamingAppData 大目录;可通过工具栏、双击、回车或右键打开目录,并可复制完整路径,不自动迁移或删除。
- 安全更新提示:后台检查最新正式 Release;新版本只显示可点击提示,不自动下载或替换高权限程序。
- 可核对结果:同时记录候选文件大小和系统盘实际可用空间变化;每次运行的本地日志写入
%LOCALAPPDATA%\CDriveCare\Logs,保留 30 天且最多 20 份。
| 机制 | 行为 |
|---|---|
| 白名单规则 | 只扫描内嵌清单中登记、并由程序白名单认可的缓存根目录,不做“全盘按扩展名删除” |
| 年龄门槛 | 临时文件最少保留 48 小时;系统日志、驱动包等保留 7 至 30 天 |
| 可信路径来源 | LocalAppData、RoamingAppData、ProgramData 等由 Windows Known Folder API 解析,不信任任意环境变量或外部路径 |
| 句柄级路径校验 | 删除前分别打开规则根和候选文件句柄,解析最终物理路径,确认仍位于当前规则根目录和系统盘后才通过句柄删除 |
| 删除瞬间复核 | 从已打开句柄重读时间和大小;枚举后被修改、替换或变新的候选会跳过 |
| 重解析点隔离 | 不跟随 Junction、符号链接或其他 Reparse Point |
| 目录保护 | 只删除符合规则的普通文件;空目录、子目录和规则根目录都不会删除 |
| 占用容错 | 锁定、权限不足、刚被应用重建的文件全部跳过,不强杀进程 |
| 系统目录保护 | Installer、DriverStore、WinSxS、System32、Program Files 等进入硬拒绝列表 |
| 输出文件保护 | 日志和驱动报告采用随机新文件名,并以目录/文件句柄验证最终物理路径后写入或轮换 |
| 明确确认 | “需确认”和“系统托管”项目默认不勾选,清理前再次显示影响 |
完整规则、路径和依据见 清理规则与安全依据。
29 条规则由 26 条文件规则、1 条回收站动作和 2 条 Windows 托管动作组成。“日常清理”选择以下 8 条低风险文件规则:
- 当前用户 LocalAppData
Temp中超过 48 小时的临时文件; - Windows Temp 中超过 7 天的未占用文件;
- CBS/DISM 中超过 30 天的归档维护日志;
- Chrome、Edge、Firefox 的网页/代码/GPU/着色器缓存,以及 Chrome/Edge 的组件下载缓存;
- 新版 Outlook 的 Edge WebView 缓存;
- Discord、Slack 的 Chromium 缓存目录。
“深度清理”还会选择有内容的需确认文件规则,包括腾讯应用缓存/旧日志/微信更新包、VS Code 与 Codex 缓存、完美世界更新器旧包,以及 WER、应用/Windows 内核转储、驱动缓存和缩略图缓存。旧内核转储只匹配 %WINDIR%\LiveKernelReports 与 Minidump 中超过 14 天的 .dmp/.mdmp,需要管理员权限。回收站、传递优化和组件存储清理不会被两种模式自动选择。
| 位置或数据 | 原因 |
|---|---|
| Downloads、Desktop、Documents、OneDrive | 用户文件,不是缓存 |
C:\Windows\Installer、ProgramData\Package Cache |
软件更新、修复和卸载依赖 |
DriverStore |
正在使用或可回退的驱动包,只能经受支持工具人工判断 |
WinSxS 内部文件 |
包含硬链接和系统组件,只允许 DISM 处理 |
| Defender 隔离区、扫描历史 | 属于安全产品状态和取证信息 |
SoftwareDistribution\DataStore |
Windows Update 数据库,不是普通下载缓存 |
| Prefetch、事件日志、搜索索引 | 清理收益小,可能降低性能或损失诊断信息 |
| Program Files、整个 AppData/ProgramData | 应用数据边界不明确,不能按目录名猜测 |
| Chrome/Edge 的 Service Worker、IndexedDB、本地 AI 模型 | 可能包含离线站点数据、用户状态或数 GB 需重新下载的模型 |
OneDrive、Microsoft Store Packages、OpenAI 本地运行时 |
同步状态、应用状态或正在使用的程序文件,不是普通缓存 |
腾讯插件/聊天/小程序数据、VS Code User/WebStorage |
用户数据与扩展状态,目录再大也不纳入规则 |
Ditto 数据库、IDM DwnlData |
分别是剪贴板历史和可续传的未完成下载 |
| 注册表 | 不提供“注册表清理”;没有可靠的通用空间收益 |
flowchart LR
UI["WinForms 界面"] --> Catalog["规则目录"]
Manifest["只读内嵌 rules.json"] --> Catalog
Catalog --> Scanner["只读扫描器"]
Scanner --> Guard["路径与重解析点防护"]
Guard --> Cleaner["句柄验证删除器"]
Catalog --> Actions["Windows 托管动作"]
Cleaner --> Audit["审计日志与空间复测"]
Actions --> Audit
UI --> Analyzer["AppData 只读空间分析"]
UI --> Updates["受限 GitHub Release 检查"]
代码分为规则清单加载、路径安全、扫描、句柄删除、系统动作、日志和 UI 等边界。扫描结果只是预估;真正删除时会重新枚举,并以打开句柄解析最终物理路径,避免扫描与执行之间的状态变化。详见 架构说明。
要求:Windows 10/11、.NET SDK、.NET Framework 4.8。
git clone https://github.com/sanrokamlan-prog/CDriveCare.git
cd CDriveCare
powershell -NoProfile -ExecutionPolicy Bypass -File .\build.ps1本地构建脚本只生成图标、编译单文件 EXE并运行安全测试:
dist/CDriveCare.exe
dist/CDriveCare.Tests.exe
正式 ZIP、SHA-256 和 GitHub Release 只由 GitHub Actions 生成。普通分支构建由 build.yml 提供可下载的 workflow artifact;推送 vMAJOR.MINOR.PATCH tag 后,release.yml 会校验 tag、EXE 版本和发布说明一致,再创建正式 Release。
安全测试套件覆盖严格清单校验、年龄/模式过滤、只读预演、候选替换、占用文件、长路径、句柄受限删除、目录保护、Known Folder 边界、Junction/输出目录隔离、更新链接约束和危险规则回归检查。
项目对 JIEKE66633/One-click-cleaning-of-C-drive 和 tanaer/WindowsClear 做过独立审计,吸收了“先扫描、分类、进度、历史可见”的产品思路,但清理内核和路径防护均重新实现。没有复制其删除或迁移代码,详情见 THIRD_PARTY_NOTICES.md。
规则边界参考 Windows、NVIDIA 与 Intel 的官方资料,包括 Windows 释放空间、Windows 内核实时转储位置、WinSxS 官方清理方法、Windows Installer 缓存警告、NVIDIA Shader Cache 和 Intel DSA 下载目录。
- 新增清理规则前,请先阅读 CONTRIBUTING.md 中的证据和测试要求。
- 安全问题请按 SECURITY.md 私下报告,不要公开包含个人路径的日志。
- 版本记录见 CHANGELOG.md。
