На PHP
define('IN_CONV','CP1251');
define('OUT_CONV','UTF-8');
$dir='/some/dir/'
ansiutf($dir);
function ansiutf($dir)
{
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if($file!=='.' && $file!=='..' && is_dir($file)===false && is_image($file)===true)
rename($dir.$file,$dir.iconv(IN_CONV,OUT_CONV,$file));
elseif(is_dir($file)===true)
ansiutf($dir.$file.'/');
}
closedir($dh);
}
}
is_image($file)
{
$ext=substr($file,strrpos($file,'.'));
if($ext==='.gif' || $ext==='.png' || $ext==='.jpg' || $ext==='.jpeg')
return true;
else
return false;
}