ひまつぶし

画像ファイルはMD5ハッシュの値でリネーム。2^128=340282366920938463463374607431768211456パターン。まったく別のファイルで、ハッシュが衝突するのはまずないだろうということ。これで管理しておけば、同一のファイルが重複することもないだろう、と。……こんなのどう考えても私の役にしか立たない。


#!/usr/local/bin/perl
#ディレクトリのjpg,gif,pngmd5リネーム;
#パスの通ったディレクトリにmd5.exeを用意しておく。;
#http://www.fourmilab.ch/md5/;
#ホントはPerlのDigest::MD5を使えばいいんだろうけど。;
opendir DIR, ".";
@file = readdir DIR;
for($i = 0;$i < @file; $i++){
unless)(($file[$i] eq ".")||($file[$i] eq ".."))({
$_ = $file;
if)((/\w*.jpg/)||(/\w*.gif/)||(/\w*.png/))({
$ext = substr $_, (rindex $_, ".");
$MD5 = lc `md5 "$_"`;
chomp $MD5;
$md5_space = rindex $MD5, " ";
$MD5 = substr $MD5, 0, ($md5_space - 1);
rename($_, "$MD5$ext");
}
}
}
__END__