> regulus8.com - 2008-07

Home > Archives > 2008-07

2008-07

ファイルを Exif 情報を使って一括リネーム

Image::ExifTool を使ってみた。

Exif 情報から日時とカメラ名を取得して、20080728_215528_EX-Z1050.JPG の様なファイル名にリネーム。Exif から日時とカメラ名が取得できないファイルには何もしない。

$ ./rename_photos *jpg
#!/usr/bin/env perl

use strict;
use warnings;

use Image::ExifTool;
use File::Basename;

my @tags = qw(DateTimeOriginal Model);
my $exifTool = new Image::ExifTool;

foreach my $file (@ARGV) {
    my $info = $exifTool->ImageInfo( $file, \@tags );

    my $datetime = $info->{'DateTimeOriginal'} || '';
    my $model = $info->{'Model'} || '';

    $datetime =~ s/\s/_/g;
    $datetime =~ s/://g;
    $model =~ s/\s/g; #2008/09/15追加

    if ( $datetime ne '' && $model ne '' ) {
        my $new_file = $datetime . '_' . $model;
        my ( undef, $dir, $suffix ) = fileparse( $file, qr/\.[^.]*/ );
        rename $file, $dir . $new_file . $suffix;
    }
}

2008/09/15 カメラ名にスペースが入ることがあったので一行追加。

Home > Archives > 2008-07

Search
Feeds
Meta

Return to page top