- 2008-07-28 (月) 22:14
- Perl
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 カメラ名にスペースが入ることがあったので一行追加。
- Older: Mixwitでオンラインで聴けるデモテープをつくってみた
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.regulus8.com/blog/2008/07/28/45/trackback
- Listed below are links to weblogs that reference
- ファイルを Exif 情報を使って一括リネーム from regulus8.com