30 分钟清出 20GB:Krokiet 重复文件清理完整指南
2026/9/5 21:44:14 网站建设 项目流程

30 分钟清出 20GB:Krokiet 重复文件清理完整指南

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

上周我清硬盘,在下载文件夹里数出 47 个同一款软件的旧安装包,照片库还有 200 多张基本一样的截图,加起来白白吃掉 20 多个 GB。手动一个个删不现实,我用的是 Krokiet——一款完全免费、开源的重复文件清理工具,用 Rust 和 Slint 写成,内置 14 种扫描工具:找重复文件、挑相似图片和相似视频、清空文件夹等等。它全程在你本机运行,不联网、不收集任何东西、没有广告。

这篇文章就按我实际用它的顺序,把最值钱的几个任务拆给你看。

把重复文件揪出来:内容相同才算数

找重复文件是最常用的功能。它的思路分两步:先按文件大小分组(大小都不一样就直接排除,极快),再对剩下的文件算内容指纹(哈希值)。指纹默认用 Blake3,快且撞车概率极低——所以即使两个文件改了名字,只要内容一模一样,照样会被归到同一组。

操作步骤:

  1. 把要扫描的文件夹加进"Included paths"(扫描列表),比如你的下载目录。
  2. 左侧工具栏点"Duplicate Files",比对方式保持默认的 Hash、哈希类型保持默认的 Blake3,直接点 Scan。
  3. 结果按"组"显示,每组就是一堆内容相同的文件。点 Select → "Except newest"(除最新外全选),每组自动只留下最新的一份。
  4. 确认后点 Trash(移到回收站,可恢复);完全放心了再点 Delete 彻底删。

如果你同时扫了两个地方,又希望某一份永远别被删,有个很实用的设置:在扫描列表里给那个文件夹勾上Ref(参考路径)。参考路径里的文件只能参与比对、永远无法被选择删除,只允许删掉其他位置的副本——拿备份盘和网盘同步目录对账时特别省心。

照片库瘦身:找出"看着一样"的相似图片

重复文件只认内容完全相同,但照片库里的重复往往更隐蔽:同一张图导出了不同分辨率、加了水印、裁剪过边角、从 JPG 转成了 WebP。相似图片工具(Similar Images)就是管这个的。

它用的是感知哈希(perceptual hash):先把图片压成一小串"视觉指纹"再互相比较,比的是画面内容而不是字节,所以上面那些"改过一点"的图都能被认出来。默认参数是 Mean 算法、哈希尺寸 16、最大差异 10,对一般照片够用了。

操作步骤:

  1. 照片目录加进扫描列表,选 Similar Images,直接 Scan。
  2. 结果按相似组显示,右侧有预览窗格,可以逐组点开对比画面。
  3. 每组手动留下最清晰的一张,其余选中删掉。注意:它不会自动选"留哪个删哪个",最终决定权在你。
  4. 误报多是整组不相关的图?把最大差异(Max difference)从 10 降到 4~5,或者把哈希尺寸加大到 32,让指纹更细、更少撞车。

如果你的照片里有镜像翻转或旋转过的版本,打开 Geometric invariance(几何不变性)选项,否则这类变体可能漏掉。

视频库大扫除:识别重复视频内容

先装一个 ffmpeg 命令行工具,因为相似视频工具(Similar Videos)靠它抽帧,Krokiet 本身不捆绑:

在 Linux 上安装 ffmpeg,其他系统换成brew install ffmpeg(macOS)或包管理器对应命令即可:

sudo apt install ffmpeg

它的工作原理是从视频里抽一序列帧、给画面算视觉指纹,再比较两个视频的指纹序列——所以它找的是"同一部片的重新编码版、加了片头片尾的版本"这类重复,而不是"恰好有几幕画面长得像"。

操作步骤:

  1. 视频目录加入扫描,选 Similar Videos。
  2. 右侧先选预设:Near-identical 找几乎一致的复制品;Movies 适合"加了片头片尾的同源视频",会自动跳过片头。
  3. 扫完按组核对,保留一份、删掉其余。
  4. 误报多就把最大差异(Max difference,默认 15)往下调;想更精准就调高窗口数量(Window count),代价是更慢。

每个视频的指纹都会写进缓存,第二次扫同一批片源会快很多。但注意:一旦改动"采样类"参数(扫描时长、窗口数、跳过时长),缓存全部作废,得从头重算。

顺手的小工具:9 种清理一次做完

除了三大件,左侧工具栏还有 9 个小工具,都是"扫一下 → 看一眼 → 处理"的轻量玩法:

  • Empty Folders(空文件夹):递归找出里面没有任何文件的文件夹,从最深处往上传播——清掉最里层后,父文件夹变空也会跟着被列出来。
  • Big Files(大文件):默认列出最大的 50 个文件,一眼看出空间被什么吃了。
  • Broken Files(损坏文件):挑出打不开、解不开的文件(音频、字体、JSON/XML 等),偶尔有误报,删之前自己打开确认一下。
  • Bad Extensions(错误扩展名):读文件头的"魔数"识别内容类型,扩展名和内容对不上时给出建议,点 Rename 就能批量改正。
  • Exif Remover(Exif 清除):把照片发出去之前,用它清掉 GPS 定位、相机型号、拍摄时间这些元数据,点 Clean 即可。
  • Bad Names(坏名字):抓大小写混乱的扩展名、名字里的 emoji、首尾空格这类问题,支持一键改名。
  • Temporary / Empty Files / Invalid Symlinks:按常见临时后缀、文件是否为 0 字节、符号链接指向的目标是否还存在来分别清理。

为什么第二次扫描会快很多

第一次扫同一批文件夹会比较慢,因为每个文件的指纹都要现算。Krokiet 会把算好的结果存进本地缓存(Linux 默认在~/.cache/czkawka/),之后再扫同样的文件会直接命中缓存,速度快得多。

中途按了 Stop 也没关系:已经算完的部分照样写进缓存,下次接着用,不白算。缓存里只存哈希、尺寸这类元数据,不存文件内容,不会占爆磁盘。

还有一个隐藏玩法:同一份缓存在命令行工具 czkawka_cli 和 Krokiet 之间共享——你用命令行预热过缓存,GUI 打开就能直接用上。

容易踩的坑

⚠️坑一:找不到"明明重复"的小文件。默认最小文件尺寸是 16 KB,比它小的文件会被直接跳过,小配置片段、占位文件这类重复项根本不会出现,有人就以为工具漏报了。正确做法:先在设置里把最小文件尺寸调低,再重新扫。

⚠️坑二:一扫到底、一删到底。有人直接扫整个 C:\ 或根目录,撞上系统目录报一堆权限错误,结果里还混进一堆不该动的东西。正确做法:从下载目录、照片库这类用户目录开始,配合"排除项"(Excluded items)跳过.gitnode_modules;删除先走 Trash,确认无误再彻底删。网络共享盘上回收站会失败,那种情况直接用 Delete。

⚠️坑三:调了视频扫描参数,缓存全白存。采样类参数一变,之前的指纹缓存就作废了。正确做法:先用默认预设跑一遍看结果,只在需要微调时再动分组类参数(最大差异、最少匹配窗口这类不影响缓存)。

喜欢脚本的朋友还有个轻量玩法。czkawka_cli 和 Krokiet 共享同一个核心引擎,下面这条命令扫描指定目录找重复文件,-E DEFAULT套用和 GUI 一样的默认排除项,-D AEO表示保留最旧一份、其余删除,--dry-run只预览不真删:

czkawka_cli dup -d /path -E DEFAULT -D AEO --dry-run

三步装完,开扫

  1. 下载预编译二进制:单个自包含文件,Windows 10/11、macOS、Ubuntu 22.04+ 都有,解压后直接运行,不用装任何运行时(具体版本以仓库最新代码为准)。
  2. 机器上已有 Rust 的话,一条命令装最新编译版:
cargo install krokiet --locked
  1. 只用"相似视频"才需要额外装 ffmpeg,其他工具开箱即用。

资源链接

  • 官方使用手册:instructions/Instruction_Krokiet.md
  • 常见问题集:instructions/FAQ.md
  • Krokiet 前端说明:krokiet/README.md
  • 核心扫描引擎源码:czkawka_core/src/tools/

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

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

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

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

立即咨询