БлогNot. Как переименовать много файлов, давая им имена по порядку

Как переименовать много файлов, давая им имена по порядку

Как обычно, нужно было переименовать кучу файлов так, чтобы имена им давались "по порядку". Наверное, самое быстрое (для меня) решение - написать мини-скрипт на 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
Пакетное переименование рисунков в XnView

25.09.2019, 12:54 [1667 просмотров]


теги: список графика софт php

К этой статье пока нет комментариев, Ваш будет первым