Hace poco, por una razón X, he tenido que renombrar todos unos zips del tipo 92832.zip al contenido que tenían dentro. Con esté script que pongo a disposición de todos, se puede lograr en un rato, está en php.
define('ZIP_DIR','zips/');
define('ZIP_DIR_NUEVO','zipsNuevos/');
if(!dl('php_zip.dll')) die('Necesita la extension ZIP');
$zipDir = dir(ZIP_DIR);
while(false !==($zipArchivo = $zipDir->read()))
{
$zipDirArchivo = ZIP_DIR.$zipArchivo;
if('.zip'==substr($zipArchivo, -4)
&& is_file($zipDirArchivo))
{
$zip = zip_open($zipDirArchivo);
if($zip)
{
$zipEntradaNombre = basename(zip_entry_name(zip_read($zip)));
$zipEntradaExt = strrpos($zipEntradaNombre, '.');
$zipNuevoNombre = substr($zipEntradaNombre, 0,
($zipEntradaExt?$zipEntradaExt:strlen($zipEntradaNombre)));
$zipNuevoNombre = ucwords(str_replace('.', ' ', $zipNuevoNombre));
$zipNuevoNombreDir = ZIP_DIR_NUEVO.$zipNuevoNombre.'.zip';
zip_close($zip);
if(file_exists($zipNuevoNombreDir))
{
$i=0;
while(file_exists($zipNuevoNombreDir =
ZIP_DIR_NUEVO.$zipNuevoNombre.'_'.$i.'.zip'))
$i++;
}
echo (rename($zipDirArchivo, $zipNuevoNombreDir) ?
'Renombrado':'Error al renombrar').":
$zipDirArchivo => $zipNuevoNombreDir\r\n";
}
}
}
$zipDir->close();
Un comentario