# rust-clean **Repository Path**: andnnl/rust-clean ## Basic Information - **Project Name**: rust-clean - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-29 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Windows C盘清理工具(命令行工具) 一个功能强大的Windows C盘清理和优化工具,使用Rust编写,具有高性能、高安全性和可配置性。 地址:[https://gitee.com/andnnl/rust-clean](https://gitee.com/andnnl/rust-clean) ## 功能特性 - **智能扫描**:按类型分组显示C盘垃圾文件 - **时间清理**:清理N个月前的旧文件夹 - **QQ微信清理**:专用清理QQ和微信目录 - **目录迁移**:将大目录迁移到其他磁盘并创建软链接 - **权限管理**:自动检测和提示管理员权限 - **配置驱动**:通过配置文件自定义所有参数 - **安全操作**:所有删除操作前需要确认 - **软链接感知**:扫描时自动忽略软链接 ## 安装 ### 从源码编译 1. 确保已安装Rust(通过[rustup](https://rustup.rs/)) 2. 克隆或下载源码 3. 进入项目目录并编译: ```cmd cargo build --release ``` 4. 可执行文件位于 `target/release/rust-clean.exe` ### 使用 #### 基本用法 ```cmd rust-clean.exe [选项] ``` #### 选项说明(需要管理员权限) - `-s, --scan`:扫描C盘垃圾文件并分组显示 - `-C, --clean`:执行清理操作(目前仅扫描) - `-O, --cleanup-old`:清理N个月前的文件夹(直接删除不提示) - `--dry-run`:仅预览将要删除的文件夹(不实际删除) - `-q, --clean-qq-wechat`:清理QQ和微信目录(目前仅扫描) - `-M, --move-dirs`:执行大目录迁移(先复制,后删除,并在原地建软链接) - `-S, --sys-clean`:系统级清理(目前仅扫描) - `-c, --config `:从配置文件加载设置 - `-h, --help`:显示帮助信息 - `-V, --version`:显示版本信息 #### 详细用法示例 1. **扫描垃圾文件** ```cmd rust-clean --scan ``` 2. **预览将要删除的旧文件夹** ```cmd rust-clean --cleanup-old --dry-run ``` 3. **清理3个月前的文件夹** ```cmd rust-clean --cleanup-old ``` 4. **清理QQ和微信目录** ```cmd rust-clean --clean-qq-wechat ``` 5. **迁移大目录(需要管理员权限)** ```cmd rust-clean --move-dirs 或者 rust-clean -M ``` 6. **使用配置文件** ```cmd rust-clean --cleanup-old --config my_config.yaml ``` ## 配置文件 程序支持通过YAML配置文件自定义行为。程序会按以下顺序查找配置文件: 1. `config.yaml` 2. `config.yml` ### YAML配置文件示例 ```yaml # 清理目录列表 cleanup_directories: - "C:\\Users\\Administrator\\Documents\\WeChat Files\\andnnl\\FileStorage\\MsgAttach" - "C:\\Temp" - "C:\\Windows\\Temp" # 要扫描的用户目录名称(相对于用户主目录) migration_user_dirs: - "Downloads" - "Documents" - "Desktop" # 要扫描的系统目录路径 migration_system_dirs: - "C:\\Program Files" - "C:\\Program Files (x86)" - "C:\\ProgramData" # 大文件阈值(字节),用于判断是否为大目录 large_dir_threshold: 1073741824 # 1GB # 旧文件大小阈值(MB),用于判断目录是否要迁移 old_file_threshold_mb: 100 # 旧文件时间阈值(月),用于清理N个月前的文件夹 old_file_months: 3 # 迁移模式:"directory" 或 "drive_replace" # "directory": 将所有目录迁移到指定目录中 # "drive_replace": 将源路径盘符替换为目标盘符 migration_mode: "directory" # 迁移目标目录(当migration_mode为"directory"时使用) migration_target_dir: "D:\\Migrated" # 迁移盘符映射(当migration_mode为"drive_replace"时使用) migration_drive_mapping: "D:" ``` ### 配置项说明 - `cleanup_directories`: 要清理的目录列表 - `migration_user_dirs`: 用户目录中要扫描的子目录名 - `migration_system_dirs`: 系统目录中要扫描的目录路径 - `large_dir_threshold`: 大文件阈值(字节) - `old_file_threshold_mb`: 旧文件大小阈值(MB) - `old_file_months`: 旧文件时间阈值(月) - `migration_mode`: "directory"(将所有目录迁移到指定目录)或 "drive_replace"(替换源路径的盘符) - `migration_target_dir`: 当migration_mode为"directory"时的目标目录 - `migration_drive_mapping`: 当migration_mode为"drive_replace"时的目标盘符(如 "D:") ## 权限要求 - **目录迁移**和**系统清理**功能需要管理员权限 - 程序会自动检测权限并给出提示 - 建议以管理员身份运行需要高级权限的操作 ## 安全特性 - 所有删除操作前需要用户确认 - 提供dry-run模式预览操作 - 完整的错误处理和恢复机制 - 忽略软链接避免循环引用 - 迁移时自动创建软链接保持路径兼容 ## 注意事项 1. **备份重要数据**:在执行任何清理操作前请备份重要文件 2. **管理员权限**:某些操作需要管理员权限 3. **关闭相关程序**:迁移目录前请关闭可能使用该目录的程序 4. **配置文件**:所有配置项都是可选的,不配置时使用空设置 ## 故障排除 ### 删除失败 - 错误信息:"删除原目录失败"通常是因为有程序正在使用该目录 - 解决方法: 1. 关闭相关程序 2. 重启电脑后重试 3. 使用Windows资源监视器检查占用情况 ### 权限问题 - 部分操作需要管理员权限 - 按提示以管理员身份运行程序 ## 大目录移动例子 ![imgs/1.png](imgs/1.png) ![imgs/2.png](imgs/2.png) ![imgs/3.png](imgs/3.png) ![imgs/4.png](imgs/4.png)