Takeout JSON

扫描的老照片怎么批量改成真实的拍摄日期和地点?

扫描仪给老照片打上的是今天的日期。讲怎样给一个文件夹的扫描件设一个真实的年份和地点,让它们在任何相册软件里排到正确的位置。

你花了一个周末,把一鞋盒八九十年代的老照片扫描进电脑。现在每一张扫描件都说是上周六拍的。导进任何相册软件,你的童年排在时间线最顶上,在上周的午饭后面。

为什么扫描件是今天的日期

扫描仪就是一台对着纸拍照的相机。它写的是生成文件的日期,因为那是它唯一知道的日期。有些扫描软件还会把这个日期写进 EXIF,反而更糟:错的日期现在在文件里面,不只是在文件外面。手机上的扫描 App 也一样,拍照那一刻的日期就是它给的日期。

照片本身可能有日期。背面的一个印章,手写的一行字,相机在角上烧出来的日期。这些都到不了扫描件的数据里。它们只是像素。

你实际知道什么

通常你大致知道时间和地点。「1987 年夏天,外婆家。」「1992 年春节,老房子。」你很少知道具体哪一天,从来不知道几点。没关系。一个落在正确月份的日期就能把扫描件放到它的邻居旁边。时间可以是中午十二点。

所以要做的是:每一批挑一个日期和一个地点,写进文件。一旦进了 EXIF,每个软件都会正确排序,文件搬家也不会变。

按同一个日期分批扫描

这是动软件之前唯一要做对的事。一件事,或者一个信封里的照片,扫进一个文件夹。文件夹按内容命名。然后按文件夹设日期,不是按照片。

如果你已经把所有东西扫进了一个大文件夹,现在就拆开。趁照片还一摞摞摆在桌上,把扫描件按事件拖进各自的文件夹。一个月之后对着缩略图再分,难得多。

手动设日期

exiftool 一条命令给文件夹里每张 JPEG 写一个日期:

exiftool -DateTimeOriginal="1987:07:15 12:00:00" -overwrite_original .

要加地点,用坐标。在任何地图网站上右键那个位置就能拿到:

exiftool -GPSLatitude=30.2741 -GPSLatitudeRef=N -GPSLongitude=120.1551 -GPSLongitudeRef=E -overwrite_original .

然后把日期也复制到文件的时间戳上,让访达和文件资源管理器也一致:

exiftool "-FileModifyDate<DateTimeOriginal" .

每个文件夹重复一遍,一批一分钟。-overwrite_original 让 exiftool 不留备份副本,所以先自己备份。

digiKam 用图形界面做同样的事。选中扫描件,打开元数据编辑器,输入日期,应用到全部。它的地理位置编辑器可以在地图上放一个标记。XnView MP 也能批量设日期。

TIFF 和 PNG 的说明

很多扫描仪输出 TIFF。TIFF 带 EXIF,exiftool 写起来没问题。PNG 扫描件是个麻烦:PNG 没有各相册软件都认的标准 EXIF 日期字段。如果扫描仪存的是 PNG,先转成 JPEG 或 TIFF 再设日期,否则有些软件会忽略这个日期。

用软件

Takeout JSON Metadata Fixer 有一个「按文件夹设日期」的功能,就是为这种情况做的:一个没有可用日期的文件夹,你想给里面所有东西设同一个日期和地点。

打开扫描件的文件夹。打开固定日期和地点,选日期,输入城市名或坐标。软件把它们写进每张扫描件的 EXIF,并把文件时间戳改成一致。它可以把文件名改成以日期开头,scan0041.jpg 变成 1987-07-15-1200_Hangzhou.jpg,再按年/月和你的数码照片一起归档。

扫描件和本来就有日期的照片混在一起也没关系。固定日期只作用于既没有附属文件也没有 EXIF 日期的文件。

它可以原地整理,可选保留一个「原始文件(整理前)」文件夹,还有试运行,在写入任何东西之前先看到文件名和文件夹。离线运行,Windows、Linux 和 Mac,界面有简体中文。1000 张免费,无限制一次性 19.99 美元。

常见问题

只知道年份,该选哪一天?

7 月 1 日是个合理的中间值。有人用 1 月 1 日,一眼就看出日期是大概的。哪个都比今天强。

设一个假的时间有害吗?

没有。时间只用来决定同一天内的顺序。中午是常见选择。同一天几张扫描件你知道先后,可以隔一分钟给它们排序,但很少值得。

不确定地点要不要填?

填到城市,不要填到街道。城市级别的位置足够有用,错了也不会误导。完全不知道就留空。

苹果照片或 Google 相册会用我设的日期吗?

会。两者导入时都读 EXIF 的 DateTimeOriginal,把扫描件放到时间线上对应的位置。Google 相册也读 GPS 并显示地点。Immich 和 PhotoPrism 一样。