如何使用带有 exiftool 的终端定义整个图像文件夹的创建日期?

如何使用带有 exiftool 的终端定义整个图像文件夹的创建日期?

我有一个包含图像的文件夹。我必须根据它们的日期重命名它们。但是当我使用

$ exiftool '-filename<CreateDate' -d %y%m%d_%H%M%S%%-c.%%le -r /home/ubuntu/house
Warning: No writable tags set from /home/ubuntu/house/120151116163735582.jpg

当我使用

$ exiftool '-FileName<${CreateDate}_${Exif:Model}.jpg' -d %Y%m%d_%H%M%S-%%2c *  
Warning: [minor] Tag 'CreateDate' not defined - 120151116163715535.jpg
Warning: No writable tags set from 120151116163715535.jpg

答案1

带有警告的文件

Warning: No writable tags set from /home/ubuntu/house/120151116163735582.jpg

没有标签CreateDate。因此,无法重命名文件。


为了说明这一点:

% exiftool '-filename<CreateDate' -d %y%m%d_%H%M%S%%-c.%%le  ~/tmp
Warning: No writable tags set from /home/aboettger/tmp/relax.jpg
    1 directories scanned
    0 image files updated
    1 image files unchanged


% exiftool -CreateDate ~/tmp   
======== /home/aboettger/tmp/relax.jpg
    1 directories scanned
    1 image files read

% exiftool -CreateDate="2011:11:25 12:00:00" ~/tmp
Warning: Duplicate Orientation tag in IFD0 - /home/aboettger/tmp/relax.jpg
    1 directories scanned
    1 image files updated

% exiftool -createdate ~/tmp                      
======== /home/aboettger/tmp/relax.jpg
Create Date                     : 2011:11:25 12:00:00
    1 directories scanned
    1 image files read

% exiftool '-filename<CreateDate' -d %y%m%d_%H%M%S%%-c.%%le  ~/tmp
    1 directories scanned
    1 image files updated

% ls -log ~/tmp 
total 56
-rw-rw-r-- 1 16501 Nov 25 10:04 111125_120000.jpg
-rw-rw-r-- 1  16473 Nov 25 09:55 relax.jpg_original

答案2

正如@AB所说,这些文件没有CreateDate。如果这些文件来自相机,那么您可能想要使用的标签是DateTimeOriginal,几乎所有相机都会设置该标签。

尝试这个命令:
exiftool -time:all --system:all -s
这将显示文件中的所有时间标签(但不是文件系统时间戳),从那里您可以找出最适合您的命令的标签。

相关内容