close
# 將選好的JPEG檔複製到NEF目錄,好的JPEG檔複製到NEF目錄,執行後將JPEG
# 檔移到JPEG目錄,沒有配對的NEF移到_del目錄,配對的NEF留在原目錄。
# 2013/12/28加上checkDirectoryExist
use strict;
use File::Copy;
use File::Basename;
use Time::HiRes qw(gettimeofday);
use 5.010;
my $t0 = gettimeofday;
my $DestRAW = "NEF/";
my $DestJPEG = "JPEG/";
my $DelFolder = "_del/";
#檢查目錄是否存在
&checkDirectoryExist($DestRAW, $DestJPEG);
chdir $DestJPEG;
my @fileJPG = glob "*.JPG";
chdir "..";
chdir $DestRAW;
my @fileRAW = glob "*.NEF";
chdir "..";
###############################################################################
mkdir $DelFolder;
&moveFile($DestJPEG, $DestRAW, $DelFolder, @fileJPG);
&moveFile($DestRAW, $DestJPEG, $DelFolder, @fileRAW);
my $t1 = gettimeofday;
printf("Time: %3.3f sec\r\n", $t1 - $t0);
system("pause");
sub moveFile() {
for (3..$#_) {
my $src = $_[1].uc( $_[$_] );
if ( $_[0] eq $DestJPEG ) {
$src =~ s/\.JPG/\.NEF/gi;
} elsif ( $_[0] eq $DestRAW ) {
$src =~ s/\.NEF/\.JPG/gi;
}
unless (-e $src) {
my $dest = $_[2].$_[$_];
say $_[0].$_[$_].' to '.$dest;
move($_[0].$_[$_], $dest) if (-e $_[0].$_[$_]);
}
}
}
sub checkDirectoryExist {
for(@_) {
if(!-e $_) {
say "Not found \"$_\"";
die;
}
}
}
全站熱搜
留言列表