Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Помогите с скриптюлей для переименовки фаилов в unix
цитата
27/05/09 в 16:45
 suomi
есть рут папке есть саб-папки 001, 002, 003 и в них фаилы с разными именами.
Нужно чтоб скрипт в каждой папке фаилы переиминивал как 1.jpg, 2.jpg и так далее. Помогите студенту. С меня виртуальное пиво.

ps: а как еще сами папки переименовать как 001, 002 ???
цитата
27/05/09 в 17:54
 Scheme
Код:

<?
   set_time_limit(0);

   $BaseHandle = opendir('./');
   while (false !== ($ThumbsDir = readdir($BaseHandle)))
      if (is_dir($ThumbsDir) && $ThumbsDir != "." && $ThumbsDir != "..")
                {
         $ThumbsHandle = opendir("./".$ThumbsDir);
         $i = 1;
         while (false !== ($ThumbsName = readdir($ThumbsHandle)))
         {
            if (strstr($ThumbsName,".jpg"))
            {
               rename("./".$ThumbsDir."/".$ThumbsName, "./".$ThumbsDir."/".$i.".jpg");
               $i ++;
            }
         }
         closedir($ThumbsHandle);
      }
   closedir($BaseHandle);
   echo "Done!";
?>

переименовывает файлы во вложенных директориях.
цитата
27/05/09 в 18:05
 Scheme
Код:

<?
   set_time_limit(0);

   $BaseHandle = opendir('./');
   $NewDirName = 1;
   while (false !== ($ThumbsDir = readdir($BaseHandle)))
      if (is_dir($ThumbsDir) && $ThumbsDir != "." && $ThumbsDir != "..")
                {
         $ThumbsHandle = opendir("./".$ThumbsDir);
         $i = 1;
         while (false !== ($ThumbsName = readdir($ThumbsHandle)))
            if (strstr($ThumbsName,".jpg"))
            {
               rename("./".$ThumbsDir."/".$ThumbsName, "./".$ThumbsDir."/".$i.".jpg");
               $i ++;
            }
         closedir($ThumbsHandle);
         rename("./".$ThumbsDir, "./".sprintf("%04d", $NewDirName));
         $NewDirName ++;   
      }
   closedir($BaseHandle);
   echo "Done!";
?>

а вот этот вариант заодно и названия дир меняет
цитата
27/05/09 в 18:10
 suomi
огромное спасибо !!!
цитата
27/05/09 в 18:31
 suomi
Scheme писал:

переименовывает файлы во вложенных директориях.


бро, чето у меня схалтурил когда 900 папок. переиминовал папки но начал с 0003 и потом проскакивает 0005, 0008..

а отдельно можно разделить етот скрипт на переименовку папок?


Эта страница в полной версии