Skip to content

Repository files navigation

CDriveCare icon

CDriveCare

安全优先、规则透明的 Windows C 盘清理工具

Build Release License Windows 10 and 11

English · 简体中文

下载即用

  1. Releases 下载 CDriveCare-v0.3.0-win.zip
  2. 解压后双击 CDriveCare.exe,接受 Windows 管理员权限提示。
  3. 等待自动扫描,核对勾选项后点击“清理所选”。

无需安装 Python、Rust 或第三方运行库。支持 Windows 10 22H2 与 Windows 11,不包含遥测和广告。程序启动后仅向 GitHub Releases API 检查一次新版本,不上传扫描结果、日志、文件名或设备标识;可用 --no-update-check 完全关闭,详见 更新检查与隐私

当前发布文件未进行商业代码签名,Windows SmartScreen 可能显示“未知发布者”。请只从本仓库 Release 下载,并用随附的 SHA256SUMS.txt 核对文件。

CDriveCare 主界面

为什么做这个项目

很多清理脚本把“能删除”误当成“应该删除”,甚至直接清空 Downloads、Windows\Installer、Defender 隔离区、更新数据库、Prefetch 或整个 AppData。短期数字很好看,问题往往在下次更新、卸载软件、恢复驱动或排查故障时才出现。

CDriveCare 的目标不是清得最多,而是在每个规则都能解释、能限制、能审计的前提下,清理明确可重建或可重新下载的数据。

核心能力

  • 29 条内嵌规则rules.json 只作为构建输入嵌入 EXE;运行时不读取同目录外部规则,启动时严格校验 schema、必填/未知/重复字段、规则 ID、风险、动作、年龄门槛和路径白名单,任何异常都会拒绝加载。
  • 先扫描再清理:逐项显示预计空间、文件数、风险和影响。
  • 日常 / 深度模式:“日常清理”只选择有内容的低风险项;“深度清理”增加需确认的文件规则,但回收站和 Windows 托管动作仍需逐项手动选择。
  • 驱动缓存分层:可清理 NVIDIA/AMD 着色器缓存、厂商下载/解压残留;DriverStore 只导出报告,绝不自动删。
  • Windows 托管动作:传递优化使用 Delete-DeliveryOptimizationCache,组件存储使用 DISM StartComponentCleanup
  • 只读空间分析:并行统计 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%\LiveKernelReportsMinidump 中超过 14 天的 .dmp/.mdmp,需要管理员权限。回收站、传递优化和组件存储清理不会被两种模式自动选择。

明确不会自动删除

位置或数据 原因
Downloads、Desktop、Documents、OneDrive 用户文件,不是缓存
C:\Windows\InstallerProgramData\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 检查"]
Loading

代码分为规则清单加载、路径安全、扫描、句柄删除、系统动作、日志和 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-drivetanaer/WindowsClear 做过独立审计,吸收了“先扫描、分类、进度、历史可见”的产品思路,但清理内核和路径防护均重新实现。没有复制其删除或迁移代码,详情见 THIRD_PARTY_NOTICES.md

规则边界参考 Windows、NVIDIA 与 Intel 的官方资料,包括 Windows 释放空间Windows 内核实时转储位置WinSxS 官方清理方法Windows Installer 缓存警告NVIDIA Shader CacheIntel DSA 下载目录

参与与安全

  • 新增清理规则前,请先阅读 CONTRIBUTING.md 中的证据和测试要求。
  • 安全问题请按 SECURITY.md 私下报告,不要公开包含个人路径的日志。
  • 版本记录见 CHANGELOG.md

License

MIT

About

Safety-first Windows C: drive cleaner with preview, risk tiers, driver cache rules, and audit logs.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages