Home > タグ > Perl
Perl
ファイルを Exif 情報を使って一括リネーム
- 2008-07-28 (月)
- 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 カメラ名にスペースが入ることがあったので一行追加。
- Comments: 0
- Trackbacks: 0
Home > Tags > Perl
- Search
- Feeds
- Meta