Answers:
这与以下情况相反:是否有任何软件会根据文件的修改日期设置EXIF日期?,并且我确定那里列出的所有程序都将适用。
其中,对于这个非常简单的任务,我建议使用jhead。例如,命令
jhead -ft *.jpg
设置一堆文件,以便文件时间戳匹配EXIF。
find
,用于遍历子目录为了执行递归到子目录,您可以将其与find
Linux / Unix / Mac(或Windows的Cygwin)上可用的命令结合使用:
find -name '*.jpg' -exec jhead -ft {} +
或找到任何人*.JPG *.JPEG *.jpg *.jpeg ...
也可以尝试
find -iname '*.jp*g' -exec jhead -ft {} +
您还可以使用find来显示将要找到的所有文件,而无需执行任何其他命令(例如jhead):
find -iname '*.jp*g'
其他实用程序(如ExifTool或Exiv2)功能更强大,但代价是复杂性。我永远记得的副手合适的选择做什么与和每次都看文件,但jhead -ft
易与记忆“修复时间”记得。
不过,为了完整起见,我确实查看了文档,并使用ExifTool进行了此操作:
exiftool -r '-DateTimeOriginal>FileModifyDate' directoryname
(-r
如果不想递归,请删除,如果这样做,也可以提供文件列表或通配符而不是directoryname
。)并小心使用引号-如果在Windows上运行,则需要"
代替'
。
使用Exiv2:
exiv2 -T rename *.jpg
请注意,如果使用小写字母-t
(或没有小写字母-T
),Exiv2还将根据时间戳将文件重命名为新名称,这可能会造成很大的混乱。Exiv2也不进行递归。
find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +
。说明:-name '[0-9][0-9]*'
为了防止再次重命名已经具有日期前缀的文件('[0-9][0-9]
考虑到年份和月份)。-iname '*.jp*g'
可以跳过,因为jhead
仅处理受支持的文件(仅JPEG文件)。%f
保留原始文件名。
Irfanview和jhead都可以做您想要的。
都免费。
链接到下面两个。
jhead是命令行驱动的,也可以由其他进程调用。
Irfanview版本可以从命令行调用,也可以在内部批量或逐个文件地调用。
下面的Irfanview示例显示了如何双向复制:
Irfanview
允许从EXIF到文件规格的批处理或每个文件日期/时间的GUI或命令行更改,反之亦然(如果需要,也可以不更改其他文件)。
资料来源:www.irfanview.com免费
这是MUCH更容易和更快实际上只比低于使其显示的说明几次使用后。例如,
要将单个文件的日期/时间转换为EXIF值,需要
Shift-J,Alt-F和Enter。
了解为什么第一次几次需要更长的时间。
要针对一批复杂的SOUNDS文件进行学习-
需要:T,Ctrl-A,Alt-F,J,Enter,(Alt-F),Enter
(或:T,Ctrl-A,Shift-J,输入)(提供较少的选项),
但实际上,经过一点使用,它几乎是完全直观的-菜单最初会指导您直到形成大脑路径。
GUI,每个文件
Options, JPG lossless rotation (Shift-J)
Select "Apply original EXIF date/time to new file"
Consider also selecting other options
GUI,一个或多个文件(通过缩略图视图)
Open Thumbnails view ('File, Thumbnails' or 'T' from Window view
Select images to change EXIF data of
usually all in folder -> Ctrl-A
Then: File, 'JPG lossless operations'
(1) Change EXIF date/time
"Change EXIF date/time"
Options are offered to set Date/time to specific setting
or to move all times back/forwards by selected DHMS amount
calculator provided to check result is as desired.
(2) Transfer EXIF date / time to file saved date time
"Lossless rotation with selected files" [Shift-J]
then, as for single file version above
Select "Apply original EXIF date/time to new file"
从命令行 -这是“旋转”操作,没有任何操作,只是将日期/时间从EXIF复制到文件日期和时间。如果需要,也可以相反。:
i_view32.exe file_spec \ *。jpg / jpg_rotate =(0,0,0,1,0,0,0,0)
以相反的方向复制日期/时间((filespec到EXIF)
如上使用(0,0,1,0,0,0,0,0,0)
黑头
将执行jpeg文件中您可以想象的任何事情
资料来源:免费http://www.sentex.net/~mwandel/jhead/
我使用如下的批处理文件。其他选项是可能的:
他们说:jhead可以在exif jpeg文件中进行修改
_________________________
注意:2016年8月:“匿名用户”正确地建议一个建议的转换不起作用,正如我所说。我已经广泛地添加到相关领域。
虽然我真的不建议您在处理图像时依赖文件日期/时间,但是可以使用名为EXIF Date Changer的免费工具来批量设置所有JPG图像的文件日期。默认设置将同时为拍摄的照片设置创建日期和日期修改文件日期。
我不建议您使用文件日期的原因很容易更新。如果您编辑图像,则修改日期会更新。如果复制图像,它将获得一个新日期。
更好的解决方案是重命名文件以在文件名本身中包含日期/时间。这仍然可以轻松进行排序,并且可以很好地处理存储在iPhone / Dropbox中的图像。
看看我新的免费软件“照片日期管理器”:http : //photodateorganizer.sourceforge.net/
FastStone Image Viewer可以执行此操作(使用4.9版)-只需在缩略图窗格中选择文件,右键单击它们,选择“工具”>“更改时间戳记”-然后您可以使用EXIF(带有或不带有修改)的数据或使用whoif自定义固定的手动日期/时间。
Advance Renamer是最简单的最佳用户友好软件。
将所有照片拖放到AR(Advance Renamer)
单击(左上方)添加方法->新名称
单击图像底部中间的一个,您将看到一个ExifTool按钮,该按钮显示所有元数据,只需单击一个属性即可获得标签。在这种情况下,它是<ExifTool:DateTimeOriginal>
复制此内容并粘贴到“ 新名称”文本框中。您可以在IMG_<ExifTool:DateTimeOriginal>
,DSC_<ExifTool:DateTimeOriginal>
等之前或之后添加任何内容。
单击“ 开始批处理”(右上),这会将所有文件重命名为日期,例如2017_12_01 19_10_12 最好在文件名中保留原始日期,因为属性可能会丢失,但文件名不会丢失。
<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
我建议给PhotoRenamer的作者,他回答...
PhotoRenamer 3.2 http://www.tgmdev.be/applications/photorenamer/photorenamer.php
我在功能区的“选项”选项卡中添加一个按钮。从此处,您可以选择用于更新文件的文件时间状态的选项。
顺便说一句,为避免使用遮罩,我还添加了一个新的遮罩属性:%F。如果使用此简单掩码,则将文件重命名为...具有其自己的名称...因此,您不必重命名要为其更新文件时间属性的文件...
这是一个古老的问题,似乎有一些建议应该可以很好地起作用,但是我在Android手机升级后找到的解决文件订购问题的建议就是这个。
也许这对某人有用。