周末闲来无事,翻出十年前的移动硬盘,点开大学毕业照,却弹出“文件已损坏”;再点开一张旅行照,上半截还是蓝天白云,下半截变成了灰色色块;更无奈的是早年从某云空间导出的相册,点开是一张写着 :( 相片读取失败 的提示小图……
照片存久了,硬盘磁道老化、拷贝意外中断都会损坏文件。面对几万张家庭照片,靠人眼一张张点开检查并不现实。为了把那些“表面正常、内里损坏”的问题照片快速筛出来,我做了这款桌面小工具——Kit 图像完整性检测器。
为什么文件夹缩略图看着好好的,点开却坏了?
很多人会疑惑,明明文件夹里的预览小图都挺正常,但缺打不开照片。 这其实是个常见的误区。电脑为了加载迅速,显示的往往只是照片文件开头自带的一张微型缩略图。哪怕照片下半截的数据早就丢失了,缩略图依然完好。
要想确认照片是否完好,必须把照片数据完整解码一遍。这个工具不仅能查出打不开的坏文件、底部变灰的残缺照、改了后缀名的“假照片”,还能识别云相册导出失败留下的 “相片读取失败”占位图。
一次 Vibe Coding 实践
这个程序采用了 Vibe Coding 方式编写。
整个开发过程中,我主要负责梳理实际使用中的痛点、提供各类真实损坏的老照片样本,并向 AI 描述检测逻辑与界面需求。AI 则负责先制定实施方案和功能逻辑,我确认后,AI 再进行代码实现。
每编写一版代码,我会直接运行使用,反馈测试结果,由 AI 定位并修正,一步步迭代,将程序完善至可用。
下载与安装
目前项目源码与打包好的可执行文件都已经上传至 GitHub,可执行文件也同步放到了网盘,大家可以根据习惯选择:
普通用户:网盘免安装版
不需要懂编程,直接通过下方网盘链接下载打包好的单文件程序
Kit图像完整性检测器-v2.0.exe(约 13MB):- 网盘下载:
https://pan.quark.cn/s/b4bafcad6bf1(提取码:pXVM) - 备用下载:也可前往 GitHub Releases 直接下载
- 运行方式:无需安装,网盘下载后放到任意位置,解压缩后进入目录,双击
Kit图像完整性检测器-v2.0.exe即可直接运行。(注:首次运行若遇到 Windows 弹出安全提示,点击“更多信息” -> “仍要运行”即可,纯本地工具不联网,可放心使用。)
- 网盘下载:
源码运行
此方法适用于 Windows、Linux、Mac 各平台,需要电脑上有 Python 环境,可前往 GitHub 仓库下载源码。
项目仓库链接:tsingkk/bad_photo_checker
项目使用
uv管理依赖(见 pyproject.toml),执行以下两行命令即可启动:
如何使用
软件打开后界面比较直观。

按下面 4 步即可完成 照片排查:
- 第一步:选择目录 点击右上角的 “浏览…” 按钮,选择存放照片的文件夹。程序会自动递归扫描该目录下的所有子文件夹。
- 第二步:配置参数
- 格式筛选:默认已全选常见的 7 大类格式(JPEG、PNG、GIF、BMP、TIFF、WebP、ICO),通常保持默认即可。
- “仅显示异常项”(推荐勾选):勾上后,下方列表只展示有问题的文件,避免被大量正常记录刷屏。
- 选择“并发进程”:软件会自动识别你电脑的 CPU 线程数上限并提供档位(默认选
4)。选择时请结合硬盘类型与 CPU 线程数:如果照片存在 机械硬盘(HDD) 或老旧移动硬盘里,无论 CPU 有多少核,都建议选2 ~ 4,避免磁头频繁来回寻道反而拖慢速度;如果是固态硬盘(SSD),则可以根据 CPU 线程数选8或更高档位,利用多核加快速度。
- 第三步:开始扫描 点击 “⚡ 开始扫描” 按钮,进度条与底部状态栏会实时更新“总计、正常、警告、损坏”的数量与耗时。扫描过程随时可点击“停止”中止。
- 第四步:定位问题与导出报告
扫描结果会标记为三种状态:
- ● 正常:图像结构与画面像素完好;
- ▲ 警告:画面本身完好可看,但拍摄元数据(如老相机时间标签)有轻微异常;
- ✖ 损坏:红色高亮显示,并在右侧注明故障原因(如“文件截断”、“画面局部损坏”等)。
- 快捷定位:在列表中双击任意一行记录,系统会自动打开文件夹并高亮选中那张照片,方便核实或找备份替换。
- 导出报告:点击 “导出报告”,支持保存为 CSV 表格(带 UTF-8 BOM 编码,用 Excel 直接打开不乱码)、TXT 文本清单或 JSON 数据。导出的报告会自动按“损坏 → 警告 → 正常”的优先级排序,把问题照片排在最前面,方便后续分批整理。
趁着闲暇时间,不妨给电脑和移动硬盘里的老照片做一次检查吧。如果这个小工具对你有帮助,欢迎点个赞。