Как переименовать много файлов, давая им имена по порядку
Как обычно, нужно было переименовать кучу файлов так, чтобы имена им давались "по порядку". Наверное, самое быстрое (для меня) решение - написать мини-скрипт на PHP и выполнить его на локальном хосте, переместив перед этим туда нужные файлы.
Если представить, что стандартная функция scandir сформирует массив с именами файлов, отсортированных в нужном порядке по алфавиту (а если нужен какой-то особый порядок, существуют функции сортировки массивов), то нам останется только отфильтровать из массива имён файлов ссылки на саму папку (".
") и папку-родителя ("..
"), а затем в цикле переименовать файлы в нужном порядке, формируя новое имя, например, с помощью стандартной функции sprintf.
В моём случае все нужные файлы лежали на локалхосте во вложенной по отношению к папке скрипта папке img
, у них был формат .jpg
, а нужный шаблон переименования имел вид "001.jpg
", "002.jpg
" и т.д.
Если ваши требования отличаются, это легко поправить в прилагаемом листинге из 5 строчек.
<?php $folder = './img'; //папка с исходными файлами, без "/" в конце $array = array_filter(scandir($folder),function ($item){return $item[0]=='.'?false:true;}); //оглавление папки img без "." и ".." теперь в $array $n = 1; //номер первого файла foreach ($array as $item) rename ($folder.'/'.$item, sprintf("%s/%03d.jpg",$folder,$n++)); //переименование, новое имя формируется через sprintf ?>
Хозяйке на заметку. Бесплатная программа XnView тоже умеет делать это с графическими форматами - выделяем файлы и обращаемся к команде верхнего меню Инструменты - Пакетное переименование.
Пакетное переименование рисунков в XnView
25.09.2019, 12:54 [1786 просмотров]