Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

文件夹内容比较工具(GUI 版) 一个基于 PyQt6 的 GUI 工具,用于比较两个文件夹的内容,支持文件分类和报告生成功能。

✨ 功能特点 🖥️ 现代化 GUI 界面 - 使用 PyQt6 构建的用户友好界面

🔍 可视化比较 - 彩色编码结果,易于识别

📊 详细文件信息 - 显示文件名、路径和大小

📁 自动文件分类 - 将文件组织到三个类别中:

文件夹 1 独有的文件(绿色)

文件夹 2 独有的文件(蓝色)

两个文件夹共有的文件(灰色)

📄 报告生成 - 创建详细的比较报告(TXT 格式)

🗂️ 文件整理 - 可选将文件复制到分类文件夹中

⚡ 多线程处理 - 快速处理,实时进度显示

📋 拖拽支持 - 可直接拖拽文件夹到输入框

🔗 快速操作 - 一键打开文件所在位置

界面预览

程序界面截图

🚀 安装说明

  1. 仓库资源下载EXE运行包

  1. 克隆仓库源码 环境要求 Python 3.8 或更高版本

PyQt6 库

简单启动方式(推荐)

直接双击运行 第一次运行.bat 文件,该批处理文件会自动:

  1. 检查 Python 是否安装
  2. 检查 pip 是否可用
  3. 自动安装所需依赖
  4. 启动程序
  5. 遇到错误时显示友好提示

手动安装依赖

如果您更倾向于手动安装依赖,可以使用以下命令:

pip install -r requirements.txt

📖 使用指南 运行脚本:

方法一(推荐):双击 第一次运行.bat 文件

方法二:手动运行

python folder-comparator-gui.py

选择文件夹:

手动输入路径或使用浏览按钮

直接将文件夹拖拽到输入框中

配置选项:

选择是否保存报告

选择是否分类和复制文件

开始比较:

点击"开始比较"按钮

查看实时处理进度和结果

查看结果:

文件显示在三个彩色编码的表格中

一键打开文件所在位置

访问生成的报告和整理好的文件

🛠️ 技术细节 文件结构 text 文件夹比较工具/ ├── folder-comparator-gui.py # 主应用程序 ├── README.md # 说明文档 ├── requirements.txt # 依赖包列表 ├── 第一次运行.bat # Windows 一键启动脚本 └── screenshot.png # 界面截图 核心功能 拖拽支持 - 轻松选择文件夹

实时进度跟踪 - 多线程处理,实时显示进度

彩色编码界面 - 直观的结果显示

跨平台兼容 - 支持 Windows、Linux、macOS

详细报告 - 生成包含统计信息的详细报告

文件整理 - 自动将文件分类复制到不同文件夹

📊 输出示例 比较完成后,工具会生成以下结构:

text 文件夹比较分析_20240103_143022/ ├── 文件夹 1 独有的文件/ # 包含仅存在于文件夹 1 的文件 ├── 文件夹 2 独有的文件/ # 包含仅存在于文件夹 2 的文件 ├── 共有的文件/ # 包含两个文件夹都有的文件 └── 文件夹比较报告_20240103_143022.txt # 详细比较报告 报告内容示例:

text 文件夹比较结果报告

生成时间: 2024-01-03 14:30:22 文件夹 1: C:\Users\test\folder1 文件夹 2: C:\Users\test\folder2

只在文件夹 1 中的文件: 文件 1.txt 文件 2.jpg

只在文件夹 2 中的文件: 文件 3.png 文件 4.docx

两个文件夹都有的文件: 公共文件 1.pdf 公共文件 2.xlsx

============================================================ 统计: 文件夹 1 中的文件总数: 4 文件夹 2 中的文件总数: 4 共同文件数: 2 差异文件数: 4 ❓ 常见问题 Q: 工具支持子文件夹比较吗? A: 当前版本仅比较指定文件夹根目录下的文件,不包含子文件夹。未来版本可能会添加此功能。

Q: 可以比较文件内容而不仅仅是文件名吗? A: 当前版本主要基于文件名比较。可以通过文件大小差异发现可能的内容不同,但不进行详细的二进制比较。

Q: 处理大量文件时性能如何? A: 工具使用多线程处理,共有文件的哈希比较阶段会并发执行,默认线程数为 10。可根据文件数量和大小在代码中调整。

Q: 支持哪些文件编码? A: 工具使用 UTF-8 编码处理所有文本内容,包括报告生成。

📄 许可证 本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🤝 贡献指南 欢迎贡献代码!请随时提交 Pull Request。

开发环境设置 克隆仓库:

bash git clone https://github.com/你的用户名/Folder-Comparator-GUI.git 创建虚拟环境:

bash python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows 安装开发依赖:

bash pip install -r requirements.txt 代码规范 遵循 PEP 8 代码风格

添加适当的注释和文档字符串

确保新功能有相应的测试

📞 支持与反馈 如果您遇到任何问题或有功能建议,请:

检查 Issues 是否已有类似问题

创建新的 Issue 描述问题或建议

About

对比两个文件夹中的文件名称,分析差异文件

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages