Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Everything Cleaner

基于 Rust + Everything SDK 的极客级垃圾文件清理工具,利用 Everything 的 NTFS 索引实现秒级全盘扫描。

架构

everything-cleaner/
├── assets/Everything64.dll       # 捆绑的 Everything SDK DLL
├── crates/
│   ├── cleaner-core/             # 核心库(FFI + 模型 + 删除操作)
│   ├── scanner/                  # 扫描器集合
│   │   ├── vs.rs                 # Visual Studio 缓存清理
│   │   └── search.rs             # 通用 Everything 搜索前端
│   ├── cleaner-ui/               # egui 桌面 GUI
│   └── Cargo.toml

快速开始

前置条件: 确保 Everything 桌面应用正在运行。

cargo run --release

内置扫描器

Visual Studio 缓存

清理 .vs/ipchobj/ 目录(C++ / C# / CMake 项目)。

扫描流程:

  1. Everything 全盘搜索 folder:.vsfolder:ipchfolder:obj
  2. 精确校验目录名完全匹配(非子串匹配),避免误伤
  3. 每种目标使用独立校验函数:
    • .vs/ — 同级目录含 .sln / .slnx / .csproj / .vcxproj / CMakeLists.txt,或文件夹内存在 VSWorkspaceState.json
    • ipch — 同级含 .sln(旧版 VS),或父目录名为 .vscode / vscode-cpptools(VSCode C++ 扩展);位于 .vs/ 内的不重复收集
    • obj/ — 同级含 .csproj / .vcxproj
  4. 目录大小优先取 Everything 返回值,无效(-1)则降级为递归计算

通用搜索

自由搜索文件/文件夹,支持正则、路径匹配、精准/模糊匹配。结果展示在统一列表中,可勾选后删除。

扩展

实现 Cleaner trait 即可新增扫描器:

pub trait Cleaner: Send + Sync {
    fn name(&self) -> &'static str;
    fn description(&self) -> &'static str;
    fn scan(&self) -> Vec<ScanResult>;
    fn scan_with_progress(&self, tx: mpsc::Sender<String>) -> Vec<ScanResult>;
}

scanner/src/lib.rs 中导出后,UI 自动发现。

技术栈

  • 语言: Rust(edition 2021)
  • GUI: eframe / egui
  • 搜索引擎: Everything SDK(C FFI,RAW 函数指针调用)
  • Windows API: windows 0.58 crate(IFileOperation / DeleteFileW

许可

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages