Answers:
在JPEG EXIF字段上将有很多工具可用。
我一直发现Phil Harvey的EXIFTool很棒。
Mac OS X软件包: ExifTool-7.98.dmg(1.4 MB)。
OS X软件包将ExifTool命令行应用程序和库安装在/ usr / bin中。
安装后,在“终端”窗口中键入“ exiftool”以运行exiftool并阅读应用程序文档。
您现在正在寻找的是
日期/时间转换功能
您是否曾经忘记在拍摄一堆照片之前在数码相机上设置日期/时间?ExifTool具有时移功能,可以轻松地将批处理修复程序应用于图像的时间戳(即,更改Windows资源管理器报告的“拍摄的日期图片”)。例如,
当您在2005:11:03 10:48:00装入新电池时,您的相机时钟已重置为2000:01:01 00:00:00。
然后,您随后拍摄的所有照片的时间戳都错了
5年10个月2天10小时48分钟。要解决此问题,请将所有图像放在同一目录(“ DIR”)中,然后运行exiftool,
exiftool“ -DateTimeOriginal + = 5:10:2 10:48:0” DIR ================= ^^^^^^^^^^^^^^^^^^
您需要将加盖错误的批次调整为仅两天。
更新:为了处理iPhoto的创建和修改时间,
EXIFTool注释在“ 日期/时间平移功能”部分继续,
上面的示例仅更改了DateTimeOriginal标签,
但是任何可写的日期或时间标签都可以移动,
并且可以使用单个命令行编写多个标签。通常,在JPEG图像中,必须全部更改DateTimeOriginal,CreateDate和ModifyDate值。
为了方便起见,已定义了一个称为AllDates的快捷方式标签来表示这三个标签。
因此,例如,如果您忘记在秋季的夏令时结束时将相机时钟调回1小时,则可以使用以下方法修复图像:
exiftool“ -AllDates- = 1” DIR ========= ^^^
这会将所有时间戳回滚1小时。
希望您的原始文件可用于执行此操作...
最后,如果您纠正了原始元数据,
但是文件时间不正确。
您可以执行以下操作,
exiftool“ -DateTimeOriginal> FileModifyDate” DIR ^
这会将校正后的EXIF时间戳推送到文件修改时间。
AllDates
了好几次,它从没有设置文件修改时间。最后一行很有魅力。非常感谢。
nik的答案肯定适用于文件中的EXIF数据(有关那些发现该线程以寻找答案的人员的信息,以下是我用来就地更新有问题照片的EXIF数据的命令):
~/Pictures/iPhoto Library/Originals/2009$ exiftool -P -AllDates+='0:0:1 2:00:00' - overwrite_original_in_place -if '$make eq "Canon"' "My Import Name Here"
当然,这并不能解决问题,因为iPhoto忽略了EXIF日期,而是通过创建日期或数据库中的任何内容进行组织。
新解决方案:我是个白痴,iPhoto '08以及之后的设备实际上向其添加了时间调整功能:菜单项Photo -> Adjust Date and Time
。实际上,它创建了一个新文件并几乎破坏了所有原始EXIF数据,但是至少照片最终在iPhoto中正确组织了。