Skip to content

gangyincoding/LargeFileCleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💾 磁盘空间分析工具

工具预览 平台 Python 许可证

一款专业的磁盘空间分析工具,帮助用户快速识别和定位占用磁盘空间的大文件,支持文件类型过滤、多格式导出、安全文件删除文件夹批量删除空文件夹清理重复文件检测等功能,是磁盘清理的得力助手。

🎯 产品特点

  • 🖥️ 图形界面:简洁直观的操作界面,无需命令行知识
  • 🔍 智能扫描:快速扫描指定目录,找出占用空间的大文件
  • 📂 类型过滤:支持13种文件类型分类,精准定位目标文件
  • 📊 多格式导出:支持Excel、CSV、HTML三种导出格式
  • 实时进度:独占一行进度条,清晰显示扫描进度
  • 🎨 专业设计:功能按钮居中,界面美观专业
  • 🗑️ 安全删除:支持选择性删除文件,自动保护系统文件
  • 🛡️ 系统保护:智能识别C盘系统文件,防止误删
  • 📁 文件夹删除:支持按文件夹分组查看,批量删除整个文件夹
  • 🔄 递归检查:深度扫描文件夹内所有子文件,确保安全
  • 🧹 空文件夹清理:一键扫描并清理所有空文件夹
  • 🔁 重复文件检测:智能识别重复文件,节省磁盘空间 ⭐v1.4新功能

🚀 快速开始

系统要求

  • 操作系统: Windows 7/8/10/11
  • Python环境: Python 3.6 或更高版本

下载使用

  1. 📥 下载项目到本地
  2. 🔓 解压到文件夹
  3. ⚡ 双击 DiskCleaner_GUI_Stable.bat 启动程序

界面预览

┌─────────────────────────────────────────────────────────────────┐
│                    磁盘空间分析工具 v1.4                        │
├─────────────────────────────────────────────────────────────────┤
│ 路径选择: [路径输入框] [浏览...]                                 │
├─────────────────────────────────────────────────────────────────┤
│ 快速选择: [下载] [桌面] [文档] [临时] [视频] [音乐]               │
├─────────────────────────────────────────────────────────────────┤
│ 扫描设置: 最小:[1MB▼] 最大:[50▼] ☑包含隐藏文件                  │
├─────────────────────────────────────────────────────────────────┤
│ 文件类型过滤器: [☑全部文件] [媒体][文档][系统][全选][清除]        │
│              ☑文档 ☑图片 ☑视频 ☑音频 ☑压缩 ☑程序 ☑代码 ☑其他     │
├─────────────────────────────────────────────────────────────────┤
│              [开始扫描] [停止扫描] [导出结果]                    │
├─────────────────────────────────────────────────────────────────┤
│ [████████████████████████████████████████████████████] 65%     │
├─────────────────────────────────────────────────────────────────┤
│ 扫描结果: [概览] [最大文件]                                     │
└─────────────────────────────────────────────────────────────────┘

✨ 核心功能

🔍 智能扫描

  • 支持任意文件夹扫描
  • 快速定位常用目录
  • 可设置最小文件大小和最大文件数量
  • 支持包含隐藏文件选项

📂 文件类型过滤

支持13种文件类型分类:

  • 文档类: PDF, Word, Excel, PowerPoint, TXT
  • 媒体类: 图片 (JPG, PNG, GIF, MP4, MP3)
  • 压缩包: ZIP, RAR, 7Z, TAR
  • 程序类: EXE, DLL, APP, DEB
  • 代码类: Python, Java, C++, JavaScript
  • 系统类: 系统文件、临时文件、缓存文件
  • 其他类: 未分类文件

📊 结果展示

  • 概览页面: 显示扫描统计信息
  • 详细列表: 按大小排序的文件列表
  • 多列显示: 文件名、大小、路径等信息

📄 多格式导出

  • Excel格式: .xlsx文件,自动用Excel打开
  • CSV格式: .csv文件,Excel兼容
  • HTML格式: .html文件,浏览器打开,支持交互式排序

🗑️ 安全删除功能 ⭐新功能

  • 文件选择: 支持单选、多选和全选操作
  • 安全状态: 自动识别并标记文件安全等级
    • 可删除: 普通文件,可安全删除
    • ⚠️ 需警告: 重要用户数据(桌面、文档等)
    • 🔴 系统文件: 系统关键文件,自动禁止删除
  • 系统保护: 自动保护C盘系统目录
    • Windows系统目录
    • Program Files程序目录
    • 用户AppData应用数据
  • 回收站支持: 删除的文件移动到回收站(需安装send2trash)
  • 删除日志: 所有操作记录到delete_log.txt
  • 多重确认: 删除前显示详细警告和文件分类

使用方法

  1. 扫描完成后,在"最大文件"标签页选择文件
  2. 点击复选框选择要删除的文件
  3. 点击"删除选中文件"按钮
  4. 确认警告信息后执行删除
  5. 查看删除结果和日志

安装回收站支持(推荐):

pip install send2trash

详细使用说明请查看:删除功能使用说明.md

📁 文件夹批量删除 ⭐v1.2新功能

  • 按文件夹分组:自动将大文件按父文件夹分组显示
  • 统计信息:显示每个文件夹的文件数量和总大小
  • 批量删除:一键删除整个文件夹及其所有内容
  • 递归安全检查:深度扫描文件夹内所有子文件和子文件夹
    • 自动检测系统关键文件
    • 识别重要用户数据
    • 多层保护机制
  • 智能分组排序:按文件夹总大小降序排列
  • 安全状态标识
    • 可删除:文件夹及所有内容都安全
    • ⚠️ 需警告:包含重要用户数据
    • 🔴 包含系统文件:自动拒绝删除
  • 双击打开:双击文件夹行在资源管理器中打开

使用场景

  • 多个大文件都在同一文件夹下,直接删除整个文件夹更高效
  • 清理项目临时文件(node_modules、build等)
  • 批量清理旧备份文件夹
  • 清理下载文件夹中的安装包集合

使用方法

  1. 扫描完成后,切换到"按文件夹查看"标签页
  2. 查看文件夹列表和安全状态
  3. 选择要删除的文件夹(单选/多选/全选)
  4. 点击"删除选中文件夹"按钮
  5. 确认警告信息后执行删除
  6. 文件夹及所有内容移动到回收站

详细使用说明请查看:文件夹删除功能说明.md

🧹 空文件夹清理 ⭐v1.3新功能

  • 独立扫描:专门的空文件夹扫描功能
  • 递归检测:智能识别完全空的文件夹和只包含空子文件夹的文件夹
  • 安全过滤:自动排除系统关键目录和特殊文件夹
    • 可删除:普通空文件夹,安全删除
    • 🔴 不建议删除:系统目录、版本控制目录等
  • 自动保护目录
    • 系统关键目录(C:\Windows、Program Files等)
    • 版本控制目录(.git、.svn等)
    • 包管理器目录(node_modules、__pycache__等)
    • C盘根目录下的文件夹
  • 批量清理:支持一键选择所有可删除的空文件夹
  • 回收站支持:删除的文件夹移动到回收站(需安装send2trash)
  • 详细原因说明:对每个文件夹显示安全状态和原因
  • 双击打开:双击文件夹行在资源管理器中打开父目录

使用场景

  • 删除大文件后遗留的空文件夹
  • 清理软件卸载后留下的空目录
  • 整理下载文件夹中的空目录结构
  • 清理项目开发中产生的空文件夹

使用方法

  1. 切换到"空文件夹清理"标签页
  2. 选择要扫描的路径(或使用主界面的路径)
  3. 点击"扫描空文件夹"按钮
  4. 查看扫描结果和安全状态
  5. 选择要删除的空文件夹(单选/多选/全选)
  6. 点击"删除选中空文件夹"按钮
  7. 确认后执行删除,文件夹移动到回收站

空文件夹定义

  • 完全没有文件和子文件夹
  • 或者只包含空子文件夹(递归判断)

示例

文件夹A/           ← 空(没有任何内容)
文件夹B/           ← 空(只包含空子文件夹C)
  └─ 文件夹C/      ← 空(没有任何内容)
文件夹D/           ← 不是空(包含file.txt)
  └─ file.txt

🔁 重复文件检测 ⭐v1.4新功能

  • MD5哈希算法:精确识别完全相同的文件
  • 按大小预筛选:性能优化,只对大小相同的文件计算哈希值
  • 智能保留建议:自动推荐保留哪个文件
    • 保留:标记为建议保留的文件(修改时间最新)
    • 🔄 可删除:可以安全删除的重复副本
  • 重复组分组:按哈希值分组显示,清晰直观
  • 空间统计:实时显示可节省的磁盘空间
  • 树形展示:层级结构显示每组重复文件
  • 批量删除:支持一键选择所有重复文件
  • 回收站支持:删除的文件移动到回收站(需安装send2trash)
  • 双击打开:双击文件在资源管理器中定位

使用场景

  • 清理下载文件夹中的重复文件
  • 整理照片库中的重复照片
  • 删除备份后遗留的重复副本
  • 清理多次下载的文档、视频等

使用方法

  1. 切换到"重复文件检测"标签页
  2. 选择要扫描的路径
  3. 设置最小文件大小(可选,建议1MB以上)
  4. 点击"扫描重复文件"按钮
  5. 查看重复文件组和智能保留建议
  6. 点击"全选重复"选择所有非保留文件
  7. 点击"删除选中文件"执行删除
  8. 完成!查看可节省的空间

智能保留策略(按优先级):

  1. 修改时间最新 - 保留最后修改的版本
  2. 路径最短 - 保留路径层级较浅的文件
  3. 文件名最短 - 保留文件名简短的文件

重复文件定义

  • 文件大小完全相同
  • MD5哈希值完全相同(内容100%一致)

性能优化

  • 第一阶段:按文件大小分组(快速筛选)
  • 第二阶段:只对可能重复的文件计算哈希值
  • 分块读取:避免大文件占用过多内存

视觉设计

组 1 (3个文件, 浪费 2.5 MB)
  ☑ 文件A.jpg    2.5 MB    D:\Photos\    ✓ 保留  ← 浅绿色
  ☑ 文件A(1).jpg  2.5 MB    D:\Download\          ← 浅黄色
  ☑ 副本.jpg      2.5 MB    D:\Backup\            ← 浅黄色

📁 文件结构

LargeFileCleaner/
├── DiskCleaner_GUI_Stable.bat    # 主启动文件
├── disk_analyzer_gui_stable.py   # GUI主程序(v1.4 - 包含重复文件检测)
├── disk_scanner_simple.py        # 扫描引擎
├── file_safety.py                # 文件安全检查模块
├── duplicate_finder.py           # 重复文件检测模块 ⭐v1.4新增
├── export_excel.py               # Excel导出
├── export_csv.py                 # CSV导出
├── README.md                     # 项目说明文档
├── CLAUDE.md                     # 开发指南
├── AGENTS.md                     # AI Agent开发指南
├── CHANGELOG.md                  # 版本更新历史
├── LICENSE                       # MIT开源协议
├── requirements.txt              # Python依赖列表
├── 使用说明.txt                  # 快速开始指南
├── 软件信息.txt                  # 软件详细信息
├── index.html                    # GitHub Pages项目主页
└── docs/                         # 开发文档目录

🛠️ 技术特性

  • 多线程处理: 扫描过程不阻塞界面操作
  • 异常处理: 完善的错误处理机制
  • 演示模式: 依赖缺失时自动启用演示模式
  • 内存优化: 高效的文件扫描算法
  • 编码兼容: UTF-8编码,完美支持中文文件名

📖 使用指南

  1. 启动程序: 双击 DiskCleaner_GUI_Stable.bat
  2. 选择路径: 手动输入或浏览选择要扫描的文件夹
  3. 设置条件: 调整扫描参数和文件类型过滤
  4. 开始扫描: 点击"开始扫描"按钮
  5. 查看结果: 在结果页面查看扫描结果
  6. 导出数据: 点击"导出结果"选择导出格式

🎯 适用场景

  • 🔍 磁盘清理: 找出占用大量空间的无用文件
  • 📊 空间分析: 分析磁盘使用情况
  • 🗂️ 文件整理: 按类型分类管理文件
  • 💾 存储优化: 优化存储空间使用

📞 更新日志

v1.4 (2024-11-28) ⭐最新版本

  • ✅ 重复文件检测功能
  • ✅ MD5哈希算法精确识别
  • ✅ 按大小预筛选优化性能
  • ✅ 智能保留建议(最新修改时间优先)
  • ✅ 重复文件分组展示
  • ✅ 树形视图层级显示
  • ✅ 可节省空间实时统计
  • ✅ 批量删除重复文件
  • ✅ 回收站支持
  • ✅ 重复文件删除日志记录
  • ✅ 双击定位文件功能
  • ✅ 新增duplicate_finder.py检测模块

v1.3 (2024-11-27)

  • ✅ 空文件夹扫描功能
  • ✅ 空文件夹批量清理
  • ✅ 递归空文件夹检测(检测只包含空子文件夹的文件夹)
  • ✅ 智能安全过滤(排除系统目录和特殊文件夹)
  • ✅ 独立的"空文件夹清理"标签页
  • ✅ 详细的安全状态和原因说明
  • ✅ 支持回收站和永久删除
  • ✅ 空文件夹删除日志记录
  • ✅ 双击打开父目录功能

v1.2 (2024-11-26)

  • ✅ 按文件夹分组查看功能
  • ✅ 文件夹批量删除功能
  • ✅ 递归文件夹安全检查
  • ✅ 文件夹统计信息显示
  • ✅ 双击打开文件夹功能
  • ✅ 文件夹删除日志记录
  • ✅ 完善的文件夹系统保护机制

v1.1 (2024-11-26)

  • ✅ 文件选择和删除功能
  • ✅ 系统文件智能识别和保护
  • ✅ 文件安全等级标识(可删除/警告/系统文件)
  • ✅ 回收站支持(安全删除)
  • ✅ 删除操作日志记录
  • ✅ 多重确认机制防误删
  • ✅ 双击打开文件所在位置
  • ✅ 全选/取消全选批量操作
  • ✅ 新增file_safety.py安全检查模块

v1.0 (2024-11-07)

  • ✅ 完整的图形界面实现
  • ✅ 13种文件类型过滤功能
  • ✅ 独占一行进度条设计
  • ✅ 功能按钮居中布局
  • ✅ 多格式导出功能
  • ✅ 自动打开对应软件
  • ✅ 完善的错误处理
  • ✅ 演示模式支持

🤝 贡献

欢迎提交Issue和Pull Request来改进这个项目!

📄 开源协议

本项目采用 MIT 协议开源


🎉 立即体验

⬇️ 下载本项目,双击 DiskCleaner_GUI_Stable.bat 开始体验专业的磁盘空间分析工具!

绿色软件,无需安装,解压即用

About

本工具用于在指定目录中发现体积大或长久未访问的文件,提供预览报告,并支持“移动到安全回收站”或“直接删除”。目标是在不破坏用户数据前提下,快速释放磁盘空间。

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors