Пакетное переименование файлов windows 7. Четыре способа группового переименования файлов в Windows

Файловый менеджер Total Commander весьма популярен среди пользователей программ экранного доступа, поскольку, наряду с богатым функционалом для работы с файлами и каталогами, обладает хорошей доступностью для вспомогательных технологий.В этой статье мы объясним и на конкретных примерах покажем, как при помощи Total Commander выполнять различные варианты группового переименования файлов.

Чтобы переименовать группу файлов, выделите их, либо нажимая клавишу Пробел на нужных файлах, либо выделив все файлы в папке с помощью команды Control+A, и нажмите Control+M. Откроется диалог "Групповое переименование файлов". Для переименования файлов в диалоге "Групповое переименование" используются специальные символы и команды. Все такие символы заключаются в квадратные скобки.

Внимание! Все служебные символы нужно вводить с соблюдением регистра. Например, команды [N] и [n] выполняют разные действия.

описание диалога и команд

В диалоге "Групповое переименование" имеется множество элементов, однако нам понадобятся только те, которые непосредственно участвуют в переименовании.

  1. Поле "Имя", здесь указывается шаблон нового имени файла без расширения.
  2. Поле "Расширение", здесь указывается расширение нового имени.
  3. Поле "Найти", сюда можно вписать текст в имени файла, который нужно заменить на другой.
  4. Поле "Заменить", здесь можно вписать текст, на который нужно заменить текст из поля "Найти".

Кнопка "Выполнить" запускает процесс переименования. Перед этой кнопкой находится список, в котором ещё до начала переименования отображаются результаты переименования в формате старое имя файла -> новое имя файла. Чтобы проверить правильно ли вы ввели условия переименования, прежде чем нажать кнопку "Выполнить", просмотрите этот список. Если вы всё ввели правильно, то после символа -> должны отображаться именно те имена файлов, которые вы хотите получить.

В поле "Имя" можно вписывать специальные символы и команды для формирования нового имени файла. рассмотрим основные из таких команд.

[N] - обозначает имя старого файла. Если вы впишите в поле "Имя" только [N], то новое имя файла будет совпадать со старым. То есть, команда [N] заменяет собой всё имя файла без расширения.

Первый символ старого имени файла. Аналогично команды или обозначают второй или пятый символ в старом имени файла.

Четыре символа из старого имени файла со второго по пятый.

Все символы имени файла, начиная со второго.

Пять символов имени файла, начиная со второго.

Пятый с конца символ в имени файла.

Символы имени файла, начиная со второго и до пятого с конца символа.

[E] - расширение файла. вписывается только в поле "Расширение", или в поле "Имя", если в имя нужно вставить расширение исходного файла.

Счётчик, начинающийся с цифры 01, изменяющийся на единицу при переходе к следующему файлу, и всегда имеющий номер состоящий из двух цифр. Аналогично, команда приписывает к новому имени файла счётчик уже из трёх цифр и с шагом равным двум. То есть 001, 003, 005 и так далее. Счётчик вписывается в новое имя файла там, где вы поставите эту команду в поле "Имя". Например, если написать трек или просто трек , то все выделенные в папке файлы будут переименованы в трек 01, трек 02 и так далее.

[F] - все слова после позиции этой команды в новом имени будут начинаться с заглавной буквы. Например, мы хотим, чтобы все названия треков в папке после номера имели слова с первыми заглавными буквами. тогда в поле "Имя" пишем [f][N] а в поле "Расширение" вписываем [E]. тогда новые файлы будут называться также как и старые, но каждое слово в их именах будет уже начинаться с заглавной буквы.

[d] - добавляет в новое имя текущую дату.

[t] - добавляет в новое имя текущее время.

можно вместо полной даты добавлять только год (команда [Y]), день (команда [D]) или месяц (команда [M]). Команда [y] вставляет год не в виде четырёх цифр, а только в виде двух последних цифр года.

На этом с основными командами можно закончить и перейти к конкретным примерам.

Пример 1

Пусть у нас в папке имеются файлы с расширением.html и мы хотим сменить у всех этих файлов расширение на.txt, чтобы править их в текстовом редакторе. Тогда, выделяем все файлы, нажимаем Control+M, в поле "Имя" вписываем [N], а в поле "Расширение" вписываем txt. проверяем результат в списке рядом с кнопкой "Выполнить" и нажимаем эту кнопку.

Пример 2

Допустим, мы скачали аудиокнигу в виде папки с mp3 файлами, но в имени каждого файла подписано "", и мы хотим убрать у всех файлов этот фрагмент. тогда, в диалоге группового переименования в поле "Имя" вписываем [N], в поле "Расширение" вписываем [E], в поле "Найти" пишем , а поле "Заменить" оставляем пустым. Обратите внимание, что символы левой и правой квадратной скобки нужно обязательно заключать в квадратные скобки, чтобы они не были расценены как начало и конец служебной команды. Проверяем результат в списке перед кнопкой "Выполнить" и нажимаем эту кнопку. Флажок "Подстановка" должен быть обязательно снят, иначе будет заменено на пустое имя всё имя файла, а не только нужный нам кусок.

Пример 3

Пусть у нас имеется папка с музыкальными треками имена которых имеют вид 01 - Song1.mp3, 02 - song2.mp3 и так далее. Мы хотим убрать символ - с последующим пробелом из имён всех файлов, чтобы осталось только 01 Song1.mp3, 02 Song2.mp3 и так далее. Тогда в поле "Имя" пишем [N], в поле "Расширение пишем [E], в поле "Найти" вписываем "- " без кавычек, а поле "Заменить" оставляем пустым. Можно оставить поля "Найти" и "Заменить" пустыми, а в поле "Имя" вписать счётчик и часть старого имени файла без первых пяти символов, в которые и попадает номер трека с тире и пробелом после него. То есть пишем так: . От старого имени файла будет взята только часть, начинающаяся с шестого символа, то есть само название трека.

Пример 4

Пусть у нас есть папка с музыкальными треками имена которых состоят из слов разделённых символом _ без пробелов, а мы хотим убрать изо всех названий символ _ и заменить его на пробел. Тогда Поля "Имя" и "Расширение" заполняем как в первых двух примерах, в поле "Найти" пишем _, а в поле"Заменить" вводим один пробел. В этом случае номера в начале треков останутся без изменения. То есть файлы вида 01_song_about_love.mp3 будут переименованы в 01 song about love.mp3.

Пример 5

Допустим, что мы хотим в папке с музыкальными треками из альбома после номера каждой композиции перед названием песни ещё добавить в каждый файл название альбома. Допустим наш альбом называется "Best of". Тогда в поле "Имя" вписываем: Best of. Здесь мы убираем из старого имени каждого файла первые 2 символа, которые содержат номер трека, а нумерацию приписываем сами. если в папке более 100 треков, то вместо пишем , а вместо пишем уже .

Пример 6

Допустим, что мы пишем курсовую и хотим, чтобы к названию каждого файла в папке с курсовой в конце имени был приписан год, чтобы мы знали по прошествии долгих лет, в каком году мы её написали. тогда в поле "Имя" пишем [N] [Y] Тогда, к примеру файл цели и методы.doc будет переименован в Цели и методы 2012.doc, а файл Заключение.doc в Заключение 2012.doc.

Пример 7

А вот, хороший пример на счётчики. Пусть у нас есть две папки, в папке "чётные" находятся только все отсканированные чётные страницы книги, а в папке "Нечётные" находятся только отсканированные нечётные страницы. Причём, и в той, и в другой папке файлы нумеруются одинаково Page001.jpg и так далее. мы хотим объединить отсканированные страницы из двух папок в одну так, чтобы все страницы шли строго друг за другом, чётная за нечётной. Тогда, в папке "Нечётные" выделяем все файлы и в поле "Имя" вписываем . Здесь мы отрезаем в конце имени каждого файла последние три символа с номером файла, но добавляем свой счётчик, который присваивает уже только нечётные номера. получаем файлы Page001.jpg, Page003.jpg и так далее.

В папке "Чётные" также выделяем все файлы, но, поскольку первой чётной страницей является страница под номером 2, то в поле "Имя" вписываем уже . После переименования получим в этой папке файлы Page002.jpg, Page004.jpg и так далее. Теперь, копируем все файлы из обеих папок в одну общую папку, и получаем правильно рассортированные отсканированные страницы.

Пример 8

Наконец, последний пример. Пусть у нас в папке находятся звуковые файлы названные 01-song1.mp3, 02-song2.mp3 и так далее. мы хотим, чтобы в имени каждого файла перед и после знака тире стоял пробел. если в папке не более 100 треков, то в поле "Имя" вписываем - или и получаем требуемый результат. Поскольку в имени каждого файла тире стоит всегда на третьем месте, то команда всегда будет давать в новом имени именно тире.

Чтобы быстро находить файлы и бегло ориентироваться в них, недостаточно разложить всё по правильным папкам. Не менее важно присвоить файлам легко читаемые и осмысленные имена. Возиться с каждым из них по отдельности - контрпродуктивно. Поэтому существуют способы группового переименования.

Для работы с группой файлов лучше скопировать их в отдельную папку. Это существенно упростит процесс.

С помощью штатных средств Windows

Изменяем имена файлов

Рассмотрим самый простой случай: у нас есть n-ое количество изображений с ни о чём не говорящими названиями.

Приведём имена этих файлов к наглядному виду Picture (n) , где Picture будет названием, а n - порядковым номером. Это можно легко сделать прямо в «Проводнике».

Выделяем все картинки, которые хотим переименовать. Чтобы сделать это быстро, используем комбинацию клавиш Ctrl + A. Затем просто жмём F2 или кликаем правой кнопкой мыши на первом файле и выбираем «Переименовать». В качестве имени для выделенного изображения вводим слово Picture и нажимаем Enter.

Windows автоматически присвоит такое же имя всем последующим файлам и расставит все порядковые номера.

При необходимости вы можете отменить массовое переименование комбинацией клавиш Ctrl + Z.

Если захотите переименовать группу папок в «Проводнике», то это можно сделать точно так же.

Изменяем расширения файлов

Допустим, у нас есть несколько текстовых документов, которые после двойного клика открываются блокнотом. Но нам нужно, чтобы по умолчанию они открывались браузером. Для этого придётся изменить их расширение с.txt на.html. Операции такого рода можно быстро выполнять с помощью командной строки.

Нажимаем клавиши Windows + R, вводим в появившемся поле cmd и кликаем ОК - видим окно командной строки. Теперь вставляем в него путь к папке, в которой лежат наши файлы, сразу после команды cd : cd C:\Users\Max Volotsky\Desktop\Docs , и жмём Enter. Затем используем специальную команду, которая изменит их расширения: rename *.txt *.html , и снова нажимаем Enter.

Первым в команде указывается исходное расширение, вторым - новое. После ввода команды система мгновенно вносит изменения.

Чтобы вернуть всё как было, нужно повторно воспользоваться командой rename, поменяв местами расширения.

С помощью сторонних утилит

Никакие встроенные инструменты не сравнятся по функциональности со специальными программами, разработанными специально для пакетного переименования. В Сети можно найти множество таких бесплатных утилит, достаточно ввести в поиске bulk file rename.

Мы рассмотрим переименование на примере программы Bulk Rename Utility . С её помощью очень удобно изменять имена папок и файлов, а также расширения последних.

При первом запуске может показаться, что интерфейс утилиты пришёл прямо из ада и, возможно, в этом есть доля правды. Зато пользователю не нужно переходить по многочисленным вкладкам и меню: он получает доступ ко всем функциям из одного окна.

Итак, допустим, у нас есть группа аудиофайлов, которые хочется привести к приятному для глаза виду. В данном случае раздражают цифры и отсутствие названия исполнителя.

Запускаем приложение и через встроенный файловый менеджер переходим в нужную нам папку. Далее, уже знакомым сочетанием клавиш Ctrl + A выделяем все файлы. Нам нужно удалить первые 3 символа в начале имени каждого файла и дописать название исполнителя в самом начале. Для этого указываем необходимые параметры на панелях Remove и Add, после чего жмём Rename.

Теперь сделаем так, чтобы все расширения состояли из символов в нижнем регистре: на панели Extension выбираем вариант Lower и нажимаем Rename.

Как видите, в окне программы доступны и другие панели. К примеру, Numbering позволяет нумеровать документы различными способами, а с помощью Case можно менять регистр символов в именах файлов. Благодаря столбцу New Name во встроенном проводнике, который показывает результат переименования ещё до его применения, вы легко разберётесь в остальных инструментах Bulk Rename Utility.

Последнюю операцию с файлами и папками, выполненную в программе, можно легко отменить комбинаций клавиш Ctrl + Z.

Get-ChildItem -Path $env:userprofile\Downloads -Filter "*.zip*" -Recurse |`

знак «`» не обязательно ставить, т.к. PowerShell после | будет искать продолжение строки.

Vadimio Vadim

В последний раз решал задачу посылки любого sms сообщения через usb gsm «свисток». Причем скрипт работает как в оконном режиме(PowerGUI помог), так и в консольном.

Alexiz Kadev

Завидую (по хорошему) Вашей памяти, Вадим. Мне вот никак не удается весь этот «язык пляшущих человечков» запоминить. Это я относительно Вашей фразы про то, как PoSH может помочь в случае если Total поставить нельзя. Мне в этом случае поможет либо многочасовое чтение манов либо (если вдруг на таком ПК окажется инет) гугление.

Кто-нибудь объяснит, зачем переименовывать 20000 файлов? Такое бывает вообще? Приведите примеры.
А сколько файлов можно переименовать в проводнике? Хотя опять напрашивается вопрос — Зачем. Разве в Проводнике недостаточно инструментов для управления файлами?

  • Ок, пусть 20 файлов — как решать будете обе задачи в проводнике?

    • Последнее из того, что могу вспомнить - сортировка файлов, извлечённых по сигнатурам из образа диска с убитой файловой системой. Была написана программа (на C++), которая посекторно сканирует файл образа диска (дамп, полученный программой dd, которая есть и для Windows) и при обнаружении известной сигнатуры начинает выписывать новый файл. Имена полученных файлов в большинстве случаев имеют вид: «XXXX YYYYYYY.rar», где XXXX - порядковый номер файла, YYYYYY - номер сектора, с которого файл начинается на диске.

      Для сортировки файлов были написаны адские батники, которые могли:
      - Устранять копии. В первой версии файлы сравнивались каждый с каждым при помощи утилиты fc /b (fc умеет устанавливать errorlevel), но этот алгоритм имеет квадратичную сложность (время O(N²)), поэтому для больших наборов он уже не подходил. Стал перемещать файлы в каталог с именем из хеш-кода (вычисленного утилитой fciv.exe). Затем другой скрипт обходил подпапки и сохранял только самый первый файл из каждой из них (остальные удалял).
      - Добавлять примерную дату создания к имени каждого архива. Архив извлекался во временную папку с восстановлением точного времени всех временных штампов (winrar x -ts arc.rar temp\), циклом for /r перебирались все файлы и выбиралась самая поздняя дата модификации.
      - Сортировать архивы по содержимому. Утилитой rar.exe извлекался листинг каждого архива, команда find определяла наличие ключевого слова (она тоже устанавливает errorlevel в зависимости от результата), при успешном обнаружении архив перемещался в соответствующую подпапку.

      О существовании средства массового переименования файлов в Far Manager’е я ничего не знаю, возможно есть соответствующие плагины, искать не пробовал.

      В некоторых простых случаях для массового переименования/копирования файлов в Far я сначала создавал список файлов в новом текстовом файле:
      dir /b *.abc > rename.bat
      Затем правил rename.bat встроенным редактором, как правило, записывая макрокоманду. Потом нажимал горячую клавишу макрокоманды (как правило, Ctrl+Alt+↓) для каждой строчки в файле.
      Либо просто записывал макрокоманду, которая в командной строке Far’а формирует команду переименования файла под курсором, тут же её выполняет (нажимает Enter) и переходит к следующему файлу (нажимает ↓). И опять давил на горячую клавишу десяток-другой раз.

      Возвращаясь к cmd.exe. Мне кажется, я слишком хорошо знаю обычную командную строку, чтобы заставить себя начать изучать PowerShell. Нумерация файлов в текущем каталоге:

      Set N=1 for %%j in (%1) do call:RENAME "%%j" exit:RENAME set SUF=000%N% ren "%~1" "%~n1-%SUF:~-3%%~x1" set /a N=N+1 goto:EOF

      Добавление текущей даты будет отличаться использованием %DATE% вместо %SUF:~-3% в процедуре RENAME. Недостаток по сравнению с однострочником PowerShell - нужно создавать файл. И я тоже не помню наизусть все ключи команд set и for, но их всегда можно посмотреть командами set /? и for /?.

      Под Линуксом ту же задачу я бы выполнил однострочником:

      Ls *.jpg | awk " BEGIN { n = 0 } { gsub(".jpg$", ""); system(sprintf("mv %s.jpg %s-%d.jpg", $0, $0, n)); ++n; }"

      На Perl было бы короче, но Perl я не знаю, а awk знаю хорошо.

      • Александр [Маздайщик] : Мне кажется, я слишком хорошо знаю обычную командную строку, чтобы заставить себя начать изучать PowerShell.

        А я — нет. Мне взрывают мозг конструкции вида

        Ren "%~1" "%~n1-%SUF:~-3%%~x1"

        И я не могу себя заставить выучить FOR, чтобы свободно лепить такое.

        Александр [Маздайщик] : Добавление текущей даты будет отличаться использованием %DATE% вместо %SUF:~-3%

        Угу, только вывод %DATE% отформатировать нужно, и в PowerShell это делается на порядок проще в плане понимания происходящего.

        strafer

        Более универсальный вариант на awk’е под любое расширение

        если имя файла может содержать несколько частей, разделённых точками:

        Ls *.jpg | awk -F . "{ printf("%s %s%03d.%s\n", $0, substr($0, 0, length($0)-length($NF)-1), NR, $NF) }" | xargs -L1 mv

        если уверены, что точка будет только перед расширением:

        Ls *.jpg | awk -F . "{ printf("%s %s%03d.%s\n", $0, $1, NR, $2) }" | xargs -L1 mv

        ЗЫ. Кстати сказать, вы в строке формата sprintf забыли указать размер поля вывода под число, будет 1, 2, … вместо нужного 001, 002, …

        • Lecron

          Кстати, размер поля вывода указанный вручную, не намного меньший недостаток, чем его отсутствие. Зачем 3 знака для единиц файлов и что будет если файлов окажется больше 999?

          • strafer

            Перед тем, как выполнять задание, надо его уяснить. В условиях задачи недвусмысленно сказано

            Допустим, надо добавить счетчик из трех цифр в конце имени всех файлов JPG в текущей папке.

            Я не слишком силён в финтах питона, ваш код ниже это условие учитывает?

            Говоря безотносительно к задаче в статье, в общем случае ничего не мешает сперва посчитать количество файлов, например

            Ls *.jpg | wc -l

            А потом принять решение о выходном формате имён файлов.

            и что будет если файлов окажется больше 999?

            Конкретно в случае awk’а он будет шлёпать числа дальше, т.е. 1000, 1001, …

            • Lecron

              Просто я рассматривал задачу не как практикум по программированию, а как решение практической задачи. И если не изменяет память, wc -l выведет количество файлов, а не размер поля. Тогда уж

              Ls *.jpg | wc -l | wc -m

              А в целом, считаю использование таких однострочников неэффективным. Это касается и PowerShell, и других шелов.
              Для редкого использования, нужно ОЧЕНЬ хорошо знать командный синтаксис. А для регулярного, с поднятием из истории, попросту небезопасно. Так как нужно считывать/интерпретировать весь текст кода, найти и ввести параметры в разных его местах . Причем заранее произвести некоторые действия, например узнать количество файлов для переименования. Малейшая невнимательность, автоматизм действий и здрасьте проблемы.
              И в первом, и во втором случае, лучше использовать скрипты/программы, с понятной системой ключей.

              Мой скрипт тоже не учитывает. Но там параметры по крайней мере задаются в одном месте, в самом начале. При желании, можно написать

              Ext = ".jpg" digit = len(str(sum(1 for f in listdir() if f.endswith(ext))))

              Тоже не бог весть как красиво, но для скрипта это уже не важно.

              strafer

              а как решение практической задачи

              Практическая задача - добавить трёхзначный номер в имя файла.

              И если не изменяет память, wc -l выведет количество файлов

              Совершенно верно, но если лень глазами посчитать количество разрядов в выведенном числе - посчитайте их wc -m, ради бога:-) (только не стоит забывать, что он ещё и символ перевода строки засчитает и выдаст на один разряд больше, чем реально есть в числе)

              Для редкого использования, нужно ОЧЕНЬ хорошо знать командный синтаксис.

              Знать надо не хуже, чем нужно знать какой-либо ЯП, например питон, для программирования на нём. Если такие задачи приходится решать в консоли часто, то синтаксис запоминается довольно быстро. К тому же, в случае регулярных выражений, они следуют практически одной логике, нужно только помнить о мелких различиях в конкретной реализации. Т.е. понимая их в принципе, можно ваять и в sed, и в grep, и в awk.

              А для регулярного, с поднятием из истории, попросту небезопасно.

              Если «регулярно» - это раз в год, то не вижу смысла писать отдельный скрипт для такой задачи, отлично сгодится поднимать из истории этот. Если раз в неделю - то конечно стоит написать, и кстати не факт, что bash-скрипт будет хуже питоновского (по крайней мере интерпретировать его можно будет вероятно на любом линуксе в мире, кроме самых кастрированных).

              Малейшая невнимательность, автоматизм действий и здрасьте проблемы.

              Возможно вы не обратили внимания, я себе соломку подстелил: если удалить непосредственно исполняющую задачу команду (в данном случае mv), то xarg просто выведет аргументы без какого-либо изменения на диске. Хорошо как для отладки, так и для уверенности в том, что однострочник двухгодичной давности делает именно то, в чём ты его подозреваешь:)

              ЗЫ. Если что, чтоб не было недопонимания, я скриптов не против, я сам их понаписал уже порядочно. Но однострочники вполне православны для мелких поручений.

              Lecron

              Все так. Я не предлагаю язык, я именно про скрипт.
              Хочу еще добавить, что задача редко остается неизменной. Наоборот, обычно расширяется. А в скриптах проще добавлять новый функционал и рефакторить код.
              Даже обсуждаемый однострочник лучше будет выглядеть как
              massRename *.jpg —counter -l3 (или -lauto)

              strafer

              Вы, видимо, программистом работаете, ну или в порядке крепкого хобби кодите, я угадал? В таком случае вы, видимо, просто психологически чувствуете себя лучше, когда код в файле, и стремитесь к этому в любом случае:-)

              Я больше админю и поэтому не упираю на это. Либо сразу в начале решения, либо по ходу использования становится понятно, что скрипт нужен будет часто. В таком случае я его превращаю в собственно скрипт в файле и облагораживаю параметрами и проверками.
              А если нечасто или вообще больше никогда - так я про него и не вспомню.

              Даже обсуждаемый однострочник лучше будет выглядеть как
              massRename *.jpg -counter -l3 (или -lauto)

              Это профанация, т.к. это не однострочник, а вызов скрипта, который ещё нужно написать самому. Суть однострочника - в использовании короткой комбинации относительно стандартных утилит.

              Писать в отдельный файл однострочный код, который возможно никогда не понадобится - это совсем уж чересчур, ему самое место в файле истории шелла.

    • Lecron

      Для пакетного переименования использую FAR с плугином NameEditor от Артёма Сеничева.

      Считаю PS пригодным для системного скриптинга. Для прикладного, к которому относится и данная задача, предпочту использовать Python. Да, это не будет однострочником, но применимость языка настолько выше, что его все равно выгодно учить, а на известном языке написать что угодно уже не проблема. Вдобавок, по моему мнению, он начнет заметно выигрывать, в случае разрастания функционала.

      From os import listdir from shutil import move cnt = 1 digit = 2 for f in listdir(): if f.endswith(".mp3"): move(f, "{:0>{digit}}.mp3".format(cnt, digit = digit)) cnt += 1

      strafer

      По ходу обсуждения в ВК выяснилось, что пример с датой надуманный, а более реальной выглядит последовательная нумерация файлов.

      Сдаётся мне, что он тоже какой-то надуманный:)

      По самому однострочнику: на мой взгляд более элегантно делать наиболее универсальные скрипты, в этом смысле стоило бы расширение сделать динамическим, тогда ему при изменении начальной команды можно кормить любые файлы, а не только жпеги.
      Впрочем, если виндовая консоль всё ещё не умеет в историю команд, так наверное и пофигу.»

      Vadim Sterkin : А что, в Линуксе есть история команд? Нет, правда? Не может быть…

      Вот тут сарказма не понял. Конечно она есть, и ещё какая.

  • artem

    я просто оставлю это здесь

    пример правда какой-то надуманный, но я понимаю, что это не ты. Я вот как-то решал такую задачу сходной упоротости. Есть много архивов Zip. Надо распаковать их всех каждый в свою папку. При этом через какое-то время могут появиться новые зипы, надо будет ещё раз запустить скрипт. При этом чтобы старые он распаковать уже не пытался. (Т.к. уже есть распакованные папки, ничего хорошего из этого не выйдет).

    Поскольку мне смотреть на эти зипы вообще не интересно, особенно после того, как они уже распакованы, я придумал такую штуку. После распаковки файлу ставится атрибут «скрытый», а при поиске файлов для распаковки скрытые файлы игнорируются. Так я из в общем-то тривиальной задачи сделал заковыристую.

    Главы статьи:

    Файлы фотографий поступают к нам на хранение из разных источников, поэтому их имена различаются по написанию. Кроме того, изначальные имена файлов не содержат информации, которую можно использовать в каких-либо целях. Привести имена файлов фотографий к общему виду и сделать информативнее можно с помощью пакетного переименования.

    – это автоматическая замена их имен по какому-либо принципу, например по дате, месту или жанру фотосъемки. После изменения имена файлов должны состоять из общей для них части и индивидуальной. Например, общей частью будет название папки, а индивидуальной порядковый номер файла в ней.

    Пакетное переименование файлов фотографий является вторым важным этапом при создании удобного цифрового фотоархива после . Имена файлам в фотоархиве нужно присваивать в соответствии с выбранной системой имен. На ее основе будет строиться потом система быстрого поиска фотографий в фотоархиве.

    Если нужно изменить имена файлов нескольких фотографий, это можно сделать без особых проблем. Если же необходимо изменить имена сотен или даже тысяч файлов фотографий, без пакетного переименования уже не обойтись. Такую работу можно сделать на компьютере быстро, но ее надо делать сразу правильно, не нарушая очередности файлов (рис.1).

    Рис.1 Для пакетного переименования файлов фотографий важно соблюдать правильную очередность их расположения.

    До переименования файлы фотографий в папке нужно отсортировать по какому-либо признаку. Удобнее это сделать по времени создания файла. Очередность файлов по имени может отличаться от их расположения по времени, так как файлы могли быть удалены. Пакетное переименование добавит файлам фотографий нумерацию и закрепит очередность имен.

    Вид имен файлов фотографий зависит от той информации, которую они должны в себе нести и чем ее больше, тем сложнее имена файлов. Такие имена можно создавать для большого числа файлов только при помощи специальных программ. О них мы поговорим позже, а пока рассмотрим быстрый способ пакетного переименования файлов фотографий.

    Как быстро переименовать много файлов

    Удобная функция пакетного переименования файлов фотографий есть у многих специальных программ, но пользоваться ей не всегда удобно. И, кроме того, бывают ситуации, когда необходимо быстро переименовать много файлов фотографий, а их имена оставить простыми и понятными. Например, дата фотосъемки и порядковый номер файла в папке (рис.2).

    Рис.2 Пакетное переименование быстро изменит много файлов так, чтобы имена фотографий стали проще и понятнее.

    В таких случаях запускать какую-либо большую программу с функцией пакетного переименования файлов фотографий не рационально. Да и не на каждом компьютере она может быть установлена. Для этого удобнее использовать возможности самой операционной системы Windows. Она позволяет сразу переименовать много файлов, быстро и просто.

    Для того чтобы быстро переименовать много файлов, сначала нужно их папку открыть в Проводнике Windows. Затем выделить файлы удобным способом и нажать кнопку «F2». Среди файлов фотографий выделенных для пакетного переименования к этому будет готово имя первого файла (рис.3). Меняем его на новое, сохраняя разрешение, и нажимаем «Enter».

    Рис.3 При быстром пакетном переименовании файлов новое имя вписывается только для первой фотографии.

    Сразу после этого функция пакетного переименования Windows быстро заменит имена выделенных фотографий в папке на имя первого файла и добавит к ним нумерацию. При этом номера будут начинаться только со второго файла, но в разных операционных системах это реализуется по-разному. На это нужно обязательно обратить внимание (рис.4) и (рис.5).

    Рис.4 После быстрого пакетного переименования фотографий в Windows Vista первый файл не нумеруется. Надо дописать вручную.

    Рис.5 После быстрого пакетного переименования в Windows XP нумерация начинается со второго файла, что не удобно для анализа фотографий.

    Исправить такую нумерацию просто. В Windows Vista нужно дописать в имя первого файла цифру (1), а в Windows XP добавить, а затем удалить копию первого файла. Но сначала ее надо переименовать так, чтобы она стояла первой (рис.6). После пакетного переименования удаляем копию первой фотографии, и нумерации файлов становится правильной.

    Рис.6 Перед пакетным переименованием фотографий нужно создать дубль первого файла так, чтобы он в папке был первым.

    Отменить пакетное переименование для файлов фотографий тоже очень просто. Для этого надо нажать комбинацию кнопок «Ctrl + Z». При этом надо учитывать, что не во всех операционных системах Windows можно быстро отменить переименование большого количества файлов. Так XP отменяет переименование только по одному файлу и кроме первого.

    Быстрое пакетное переименование файлов фотографий удобно только в некоторых случаях, так как возможности Windows для этих целей очень ограничены. Чаще имена файлов приходиться формировать по сложным условиям, что под силу только специальным программам, о которых мы поговорим дальше.

    Программы для переименования файлов

    Кроме возможностей пакетного переименования операционных систем, для файлов фотографий есть еще два вида программ, которые могут это сделать. К ним относятся файловые менеджеры и различные редакторы изображений. Такие программы имеют разные возможности, а поэтому их нужно выбирать конкретно для своих целей.

    Если на компьютере нет специальных программ для работы с графикой, для пакетного переименования файлов фотографий можно пользоваться файловым менеджером, в котором есть такая функция. Таких программ существует много, но большинство из них имеет английский интерфейс или слабый функционал. Но есть программа, которая нам подходит.

    Total Commander – это популярный файловый менеджер, который имеет русский интерфейс и огромные возможности по работе с файлами. Этой программой можно пользоваться для пакетного переименования файлов фотографий в большинстве случаев. Ее особенность состоит в том, что в ней есть много масок для формирования имен файлов (рис.7).

    Рис.7 Маски для пакетного переименования файлов в программе Total Commander удобно использовать для фотографий.

    Для случаев, когда приходиться часто работать с большим количеством фотографий, удобнее пользоваться специальными программами такими как, например Adobe Bridge или Lightroom. Эти программы рассчитаны на работу с большим количеством фотографий и в них также есть маски пакетного переименования файлов.

    Программы с возможностями пакетного переименования файлов имеют удобные функции для работы с фотографиями. О каждой из них нужно говорить отдельно и подробно. Описание функций для переименования файлов фотографий лучших программ, читайте в следующих статьях.

    Чтобы быстро находить файлы и бегло ориентироваться в них, недостаточно разложить всё по правильным папкам. Не менее важно присвоить файлам легко читаемые и осмысленные имена. Возиться с каждым из них по отдельности - контрпродуктивно. Поэтому существуют способы группового переименования.

    Для работы с группой файлов лучше скопировать их в отдельную папку. Это существенно упростит процесс.

    С помощью штатных средств Windows

    Изменяем имена файлов

    Рассмотрим самый простой случай: у нас есть n-ое количество изображений с ни о чём не говорящими названиями.

    Приведём имена этих файлов к наглядному виду Picture (n) , где Picture будет названием, а n - порядковым номером. Это можно легко сделать прямо в «Проводнике».

    Выделяем все картинки, которые хотим переименовать. Чтобы сделать это быстро, используем комбинацию клавиш Ctrl + A. Затем просто жмём F2 или кликаем правой кнопкой мыши на первом файле и выбираем «Переименовать». В качестве имени для выделенного изображения вводим слово Picture и нажимаем Enter.

    Windows автоматически присвоит такое же имя всем последующим файлам и расставит все порядковые номера.

    При необходимости вы можете отменить массовое переименование комбинацией клавиш Ctrl + Z.

    Если захотите переименовать группу папок в «Проводнике», то это можно сделать точно так же.

    Изменяем расширения файлов

    Допустим, у нас есть несколько текстовых документов, которые после двойного клика открываются блокнотом. Но нам нужно, чтобы по умолчанию они открывались браузером. Для этого придётся изменить их расширение с.txt на.html. Операции такого рода можно быстро выполнять с помощью командной строки.

    Нажимаем клавиши Windows + R, вводим в появившемся поле cmd и кликаем ОК - видим окно командной строки. Теперь вставляем в него путь к папке, в которой лежат наши файлы, сразу после команды cd : cd C:\Users\Max Volotsky\Desktop\Docs , и жмём Enter. Затем используем специальную команду, которая изменит их расширения: rename *.txt *.html , и снова нажимаем Enter.

    Первым в команде указывается исходное расширение, вторым - новое. После ввода команды система мгновенно вносит изменения.

    Чтобы вернуть всё как было, нужно повторно воспользоваться командой rename, поменяв местами расширения.

    С помощью сторонних утилит

    Никакие встроенные инструменты не сравнятся по функциональности со специальными программами, разработанными специально для пакетного переименования. В Сети можно найти множество таких бесплатных утилит, достаточно ввести в поиске bulk file rename.

    Мы рассмотрим переименование на примере программы Bulk Rename Utility . С её помощью очень удобно изменять имена папок и файлов, а также расширения последних.

    При первом запуске может показаться, что интерфейс утилиты пришёл прямо из ада и, возможно, в этом есть доля правды. Зато пользователю не нужно переходить по многочисленным вкладкам и меню: он получает доступ ко всем функциям из одного окна.

    Итак, допустим, у нас есть группа аудиофайлов, которые хочется привести к приятному для глаза виду. В данном случае раздражают цифры и отсутствие названия исполнителя.

    Запускаем приложение и через встроенный файловый менеджер переходим в нужную нам папку. Далее, уже знакомым сочетанием клавиш Ctrl + A выделяем все файлы. Нам нужно удалить первые 3 символа в начале имени каждого файла и дописать название исполнителя в самом начале. Для этого указываем необходимые параметры на панелях Remove и Add, после чего жмём Rename.

    Теперь сделаем так, чтобы все расширения состояли из символов в нижнем регистре: на панели Extension выбираем вариант Lower и нажимаем Rename.

    Как видите, в окне программы доступны и другие панели. К примеру, Numbering позволяет нумеровать документы различными способами, а с помощью Case можно менять регистр символов в именах файлов. Благодаря столбцу New Name во встроенном проводнике, который показывает результат переименования ещё до его применения, вы легко разберётесь в остальных инструментах Bulk Rename Utility.

    Последнюю операцию с файлами и папками, выполненную в программе, можно легко отменить комбинаций клавиш Ctrl + Z.