如何用 Czkawka 三步找出重复文件:一份覆盖空文件夹、相似图片的完整清理指南
2026/9/7 0:37:06 网站建设 项目流程

如何用 Czkawka 三步找出重复文件:一份覆盖空文件夹、相似图片的完整清理指南

【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka

C 盘又红了,Downloads 里堆着 17 个微信图片_2024-xx,照片库越攒越乱,可你连哪些文件是重复的都说不清。Czkawka 是一款用 Rust(一种内存安全的编程语言)写的开源文件清理工具,同时提供图形界面和命令行(CLI)两种形态,重复文件查找、空文件夹清理、相似图片搜索都能做,免费且无广告。

为什么是它,而不是别的清理软件

三句话讲清它的定位:

  • 核心扫描引擎czkawka_core是纯 Rust 库,多线程 + 感知哈希算法,扫描速度是它最大的卖点;
  • 一个引擎,四个前端:Krokiet(当前主推的桌面 GUI,基于 Slint 框架)、czkawka_cli(命令行版,适合写脚本)、Cedinia(Android 版)、以及已进入维护模式的 GTK 老版 Czkawka GUI;
  • 零联网:没有遥测、没有更新检查、不收集任何数据。想验证的话,翻一遍仓库里的 Cargo.lock 就能确认没有任何网络依赖。

对比同类工具(仓库 README.md 里有一张完整的对照表):DupeGuru 只有重复查找,BleachBit 只做系统清理,FSlint 已经停止开发;Czkawka 一家把 14 个工具打包进了同一套缓存体系里。

从下载到跑通第一次扫描

Windows 下的最快安装方式

仓库官方建议直接拿预编译二进制:Krokiet 是单个自包含 exe,下载后双击就能跑,不需要装任何运行时。仓库地址是https://gitcode.com/GitHub_Trending/cz/czkawka,发布页的推荐规则很简单:默认后端 + 对应架构(大多数机器是windows_krokiet_on_linux_x86_64这类命名)先拿默认版;只有当文字发虚、窗口黑屏时才换all_backends包试别的渲染后端。

如果你习惯自己编译,装好 Rust 后一条命令即可:

cargo install krokiet --locked

零配置跑通第一次结果

  1. 打开 Krokiet,点左侧面板的 "Duplicate Files"—— 你会看到 14 个工具竖排在左边,这是整个界面唯一的"菜单";
  2. 在底部目录面板的 Included Paths 里添加要扫的文件夹—— 用 Add 按钮选目录,或直接粘贴路径;
  3. 点 Scan,等状态栏出现 "Found N items in Xms"—— 结果按组显示,加粗行是组头,普通行是具体文件,双击行直接打开文件预览。

第一次扫描慢是正常的,因为它在边扫边建哈希缓存。第二次扫同样的目录会快很多——这是缓存(只存哈希、大小、时间戳等元数据,不存文件内容)在起作用。

三个高频场景的真实操作路径

场景一:磁盘瘦身,重复文件 + 空文件夹一起清

重复文件是主力。扫描完成后不要急着全选删除:点Select,选 "Except newest"(保留最新、标记其余副本),确认每组至少留一个文件,再点Trash(进回收站,可反悔)而不是Delete(永久删除,不可逆)。

空文件夹用 Empty Folders 工具,它用一个递归算法把"非空"状态向上冒泡,所以父目录里有残留文件就不会误报子目录。

场景二:照片库治理,相似图片 + 批量去 Exif

照片场景的核心是Similar Images。它比较的是像素内容而非文件头,所以 JPEG 和 WebP 的同一张照片会被分进同一组,不同分辨率、带水印的变体也能被感知哈希抓住。推荐配置(来自 官方 FAQ):相似度阈值 8–10、哈希大小 16、算法 Mean;误报多就调低阈值到 4–5,漏报就换 Gradient 并把哈希提到 32。

组内用右侧预览窗对比后手动选留谁、删谁。如果照片要从手机导出后分享,顺手用Exif Remover把 GPS 等元数据剥掉(默认写_cleaned副本,不会动原图,加 "overwrite" 才会覆盖)。

场景三:音乐与视频去重

Same Music 支持两种模式:按标签(默认比对歌名 + 歌手)或按音频内容指纹。Similar Videos 则抽帧做视觉哈希,按时间窗比对,还能识别"长视频里嵌着一个短片"的子剪辑关系。注意:视频类工具需要系统里单独装 ffmpeg(Windows 下winget install Gyan.FFmpeg即可,安装脚本在 misc/install_scripts/ 里都有)。

老手才会调的参数

熟悉基本操作后,这几个参数最值回票价(完整参数表见 CLI 使用说明):

  • 参考目录(Ref)保护原盘。在 Included Paths 里给备份盘那行勾上Ref,之后任何自动选择、删除操作都碰不到它,只有普通目录里的副本可被删。命令行里是-r参数,多个参考目录要重复写多个-r
czkawka_cli dup -d /incoming -r /archive -D AEN -Q
  • 先 dry run,再真删-Q只预演不落盘,确认策略无误后去掉-Q-y(进回收站)执行。删除策略代码里AEN(留最新)、AEO(留最旧)、AEB(留最大)最常用。
  • prehash 两级哈希。重复查找先算"文件头尾小块"的快速哈希淘汰绝大多数非重复项,幸存者才做全量 Blake3 哈希。Krokiet 默认开启,这就是第二次扫描提速的来源。
  • 缓存与便携模式。缓存和配置的位置可用环境变量CZKAWKA_CACHE_PATH/CZKAWKA_CONFIG_PATH重定向,把整套工具塞进 U 盘随身带。
  • 自动化。CLI 找到文件时退出码是11(没找到是0),配合-p导出 JSON、-E '$TRASH'跳过回收站,就能写进定时任务做夜间重复报告。

避坑指南:你会真实碰到的问题

小文件找不到重复?原因是 GUI 默认最小文件尺寸为 16KB——扫整盘时几 KB 的小文件经常"撞脸",报出来只会淹没真正的大重复。真要扫就进 Settings 把 File size 最小值调低,别无脑调。

Windows Defender 报毒?这是 Rust 用 LTO(链接期优化)编译的二进制长期存在的误报,和代码本身无关。核对 SHA256、加白名单即可,别直接删。

Krokiet 窗口黑屏或渲染崩?通常是 GPU 驱动和渲染后端不匹配。Linux/macOS 下用SLINT_BACKEND=software krokiet强制软件渲染(虚拟机里这往往是唯一解);Windows 下设置同名系统环境变量后重启。还不行就换all_backends构建逐个试。

CLI 扫全盘把回收站也扫了?CLI 默认应用 GUI 那套排除规则(GUI 默认就排除回收站、.git等)。用宏补上:-E '$TRASH'只排回收站,-E DEFAULT应用全套 GUI 默认排除。引号别省,否则 shell 会把$TRASH当变量吃掉。

误把文件硬链接进了系统目录?硬链接让多个文件名共享同一个 inode,改一个等于改全部,且不能跨分区。撤销办法是把文件复制一份再重命名切断链接;事前把C:\Windows/usr之类加进排除目录能避免 90% 的事故。

同一个工具开两个窗口?不同工具可以并行(各有各的缓存文件),但同一工具的两个实例会写坏它的缓存。

从这里继续

仓库里的 instructions/ 目录是全部权威文档:Krokiet GUI 手册、CLI 手册、按 issue 汇总的 FAQ 都值得留个书签。遇到怪行为先去 Changelog.md 对一下版本,功能想法和 bug 直接提 issue 给项目作者。Czkawka 这个名字是波兰语"打嗝"的意思——用它嗝掉磁盘里那些碍事的重复文件,就是这么一件顺手的事。

【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询