痛点:照片时间被 Windows「吃掉」
你有没有遇到过这种情况:
从手机把照片导到电脑,或者用网盘同步后,打开文件夹一看——所有照片的修改时间全变成了今天。
Windows 会在导入时覆盖文件的时间戳,网盘同步后也一样。于是几千张照片混在一起,完全失去了按时间排序的能力。
当你想回忆 2021 年国庆去了哪里,翻遍整个文件夹根本找不到对应的照片。
试过不少整理工具,要么操作繁琐,要么识别不准,要么要手动一个个改。
有没有一种方式,能让照片自动按拍摄年份和月份归档?
解决思路:从文件名里「抢救」时间
后来我注意到一个规律——手机拍的照片,文件名本身就藏着拍摄时间:
mmexport1662457184000.jpg→ 微信导出,末尾是毫秒时间戳IMG_20231023_184258.jpg→ 标准相机命名,中间就是年月日时分秒VID_20221224_180022.mp4→ 视频也一样
既然 Windows 靠不住,那就从文件名和 EXIF 信息中提取真实拍摄时间,然后自动创建 年份/年-月/ 文件夹进行归档。
于是有了这个工具——Photo Organizer。
它能做什么
简单来说:选择一个目录,点击开始,工具会自动完成以下事情:
- 扫描目录下所有照片和视频
- 从 EXIF、视频元数据或文件名中提取拍摄时间
- 按
归档/2023/2023-10/的结构自动归类 - 无法识别的文件放入
未识别/目录,不会被删除
归档后的目录结构长这样:
归档/
├── 2022/
│ ├── 2022-09/
│ │ ├── IMG_20220905_130147.jpg
│ │ └── mmexport1662457184000.jpg
│ └── 2022-12/
│ └── VID_20221224_180022.mp4
├── 2023/
│ └── 2023-10/
│ └── IMG20231023184258.dng
└── 2024/
└── 2024-01/
└── 1735689600000.jpg
一目了然,想找哪年哪月的照片,直接进对应文件夹就行。
支持哪些格式
| 类型 | 格式 |
|---|---|
| 图片 | JPG / PNG / HEIC / GIF |
| RAW | DNG / CR2 / NEF / ARW |
| 视频 | MP4 / MOV |
怎么用
最简单:下载 exe
从 GitHub Releases 页面直接下载 PhotoOrganizer.exe,无需安装 Python,双击运行:
- 选择照片目录
- 点击「开始归档」
- 等待完成
就这么简单。
源码运行
如果你有 Python 环境,也可以直接运行源码:
# 克隆项目
git clone https://github.com/Dhongli/photo_organizer_uv.git
cd photo_organizer_uv
# 安装依赖
uv sync
# 启动 GUI
uv run python photo_organizer_gui.py
# 或命令行版
uv run python photo_organizer.py "D:/你的照片目录"
安全吗?文件会不会丢?
不会。 工具只做一件事——移动文件(shutil.move),不修改任何文件内容。
- 同名文件自动加
_(1)、_(2)后缀,不会覆盖 - 无法识别的文件统一放入
未识别/,不会被丢弃 - 已归档的目录会被自动跳过,不会重复处理
建议第一次使用时,先把照片复制到一个临时目录测试,确认无误后再操作原目录。
开源地址
项目完全开源,MIT 协议,欢迎 star 和 fork:
如果你也受够了 Windows 弄丢照片时间的问题,不妨试试这个工具。