cargo run -- --gui或使用 release 版本:
./target/release/find-dupl-file --gui- 顶部栏:显示应用名称,并提供“导出报告”和“设置”。
- 左侧任务控制:选择扫描目录、硬盘标识、比较模式,并启动扫描或分析。
- 磁盘索引:展示已记录的移动硬盘,并支持按磁盘标识移除索引。
- 中央结果区:按重复组展示文件,第一项默认保留,其余文件可勾选删除。
- 配置窗口:调整文件大小阈值、扩展名白名单、忽略扩展名和忽略目录。
- 在左侧选择要扫描的目录。
- 填写硬盘标识,例如
A、B、backup、external-ssd。选择目录后会默认使用目录/磁盘名称并去掉空格。 - 如果只想快速定位疑似重复,选择“按大小快速匹配”。
- 如果要更可靠地判断内容重复,选择“按采样哈希精确匹配”。
- 点击“开始扫描”。
- 扫描完成后点击“查找重复文件”。
- 在每组重复文件中查看磁盘标识,例如
[A] 123.MP4、[C] 233.MP4。 - 保留你想保留的那份,勾选确认要删除的副本。
- 点击“删除已选文件”,确认后执行删除。
- 需要审计或备份时点击“导出报告”。
移动硬盘不需要同时连接。你可以先扫描 A,再扫描 B、C、D。应用会把每块盘的文件索引保存在本地数据库里,并在查重时跨磁盘比较。
左侧“磁盘索引”会显示:
- 磁盘标识
- 已记录文件数
- 已记录文件总大小
- 最后扫描时间
点击某块磁盘旁边的“移除”会删除这块磁盘在应用中的索引,不会删除真实文件。移除后如果还需要分析这块盘,请重新连接并扫描。
点击“查看”会在主区域展示这块磁盘曾经扫描过的全部文件索引,包括文件大小和完整路径。路径中的中文会使用系统中文字体显示,不再使用等宽字体。
- 清理视频盘:保留默认扩展名,最小文件大小可设为 100 MB 或更高。
- 清理图片库:可把最小文件大小调低,例如 1 MB。
- 清理全部文件:清空“处理的扩展名”列表。
- 忽略开发目录:默认会跳过
.git、.svn、node_modules、target。
应用会在当前运行目录创建 disk_files.db。这是本地 SQLite 数据库,用于保存每块磁盘的扫描记录。删除数据库不会删除真实文件,只会清空已扫描索引。
报告默认导出到 duplicate_files_report.txt。
两个不同文件可能大小完全相同。需要更可靠结果时,请启用采样哈希。
启用哈希后,应用会读取每个候选文件的多个片段。大目录和机械硬盘会更慢。
检查文件是否被其他程序占用,以及当前用户是否有删除权限。失败信息会显示在左侧状态区。