Автоматическое переименование файлов в папке. ReNamer Пакетное переименование файлов. Переименование с перемещением

Faq 27.04.2019
Faq

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. Надо распаковать их всех каждый в свою папку. При этом через какое-то время могут появиться новые зипы, надо будет ещё раз запустить скрипт. При этом чтобы старые он распаковать уже не пытался. (Т.к. уже есть распакованные папки, ничего хорошего из этого не выйдет).

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

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

    С базовыми операциями по переименованию групп файлов вполне может справиться обычный Проводник Windows. Выделяем группу файлов и на вкладке «Главная» жмем «Переименовать». Вводим новое имя, жмем «Enter». В результате мы получим файлы-«тезки» с разными порядковыми номерами.

    Total Commander

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

    Advanced Renamer

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

    Siren

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

    Bulk Rename Utility

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

    Rename Master

    Утилита Rename Master умеет переименовывать группы файлов по множеству критериев, таких как MP3-тэги, EXIF-тэги в JPG-файлах и т.д. Программа имеет удобный, правда только англоязычный интерфейс и может работать в portable-версии.

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

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

    С помощью штатных средств 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.

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


    Кому-то нужно упорядочить домашнюю медиатеку, чтобы фото или видео имели названия, связанные, к примеру, с событиями съёмки. А использующим компьютер в своей профессиональной деятельности может потребоваться построение данных по каким-нибудь техническим характеристикам.

    Переименование внушительного объёма информации вручную может занять много времени. же сделает эту работу в считанные секунды. Как работает групповое переименование в составе этого файлового менеджера?

    1. Функция группового переименования в составе Total Commander

    Чтобы воспользоваться возможностью группового переименования на любой из панелей открываем папку с оперируемыми файлами и выделяем все их клавишами Ctrl + A . Или удерживаем зажатой Ctrl и указываем только отдельные из них. Далее запускаем групповое переименование – либо в меню «Файл» , либо горячими клавишами Ctrl + M .

    Поле ввода значений в открывшемся окошке функции – это маска имён. В неё необходимо ввести свои значения, которые будут содержаться в названиях всех файлов как то: «Фото» , «Видео» , «Wallpapers» , «Событие такое-то» , «Track» и т.п. А затем добавить заключённое в скобки выражение, реализованное в виде кнопок.

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

    Нижняя часть окошка функции — это таблица сопоставлений названий старых и новых, какими они будут после выполнения операции. Так что, подбирая критерии переименования, прямо на лету можно отслеживать удобочитаемость будущих имён. И когда нужный формат будет найден, только тогда приступать к выполнению операции по переименованию (кнопка внизу «Выполнить») .

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

    2. Изменение имён

    Функция группового переименования запускается с по умолчанию установленным в маске выражением [N] – текущим именем файлов. Если оставить это выражение, имена останутся такими как есть и изменятся, соответственно, только в части выбранных дописок. Если имена необходимо изменить полностью, убираем [N] (клавишами Del или Backspace) и вписываем своё общее значение. Как, например, в нашем случае задаётся общее имя всем обоям для рабочего стола «Space Wallpapers» . Далее необходимо выбрать способ идентификации файлов с этим общим именем.

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

    2. Порядковые номера в названиях

    Идентифицировать файлы с единым общим названием, прописав каждому из них порядковый номер, можно с помощью выражения [C] . В графе маски ставим курсор до или после общего названия и жмём кнопку «[C] Счётчик» .

    Для счётчика доступны некоторые настройки:

    Шаг счёта (нумерация, например, по типу 1, 3, 5, 7 и т.д.) ;
    Цифра, с которой начинается отсчёт,
    Формат числа (количество цифр в порядковом номере) .

    Если групповое переименование проводится для более чем 9 файлов, можно установить, например, 3 цифры в порядковых номерах. Тогда они будут иметь формат 001 , 002 , 003 и т.д. И, соответственно, такие файлы в отдельных файловых менеджерах будут отображаться так, как нужно, а не с искажённым порядком, когда за 1 следует 10, и только потом – 2.

    3. Даты создания файлов в именах

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

    Возможность формирования названий с включением других дат для отдельных типов файлов предусматривает в числе плагинов выражений. При нажатии кнопки «[=?] Плагин» у нас появится выбор огромного числа различных параметров. Так, в подборке плагинов «tc» в названия можно включить дату и время модификации, дату и время последнего доступа.

    4. Различные параметры в именах

    Итак, упомянутая кнопка «[=?] Плагин» открывает доступ к огромному перечню параметров файлов. В частности, в подборках плагинов «shelldetails» и «tcmediainfo» можем включить в названия медиафайлов:

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

    Конечно, при условии, что медиаданные содержат информацию о выбранных параметрах.

    5. Изменение расширений

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

    Или замена файлов «.txt» на «.ini» , «.bat» и т.п. Чтобы вовсе убрать расширения у файлов, просто оставляем их маску без какого-либо выражения.

    6. Переименование с перемещением

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

    7. Избавление от порядковых номеров в именах

    Как убрать приписку в виде нумерации файлов и оставить только основные названия? Такая необходимость может стать при упорядочивании коллекции аудиозаписей. Жмём кнопку « Диапазон» и выделяем блоком основное имя, т.е. часть названия без порядковых номеров. Жмём «Ок» и выполняем операцию.

    8. Удаление отдельных значений из имён

    Как убрать из имён группы данных одинаковую их составляющую? Например, значения «Ярлык» или «Копия» , жанр, год альбома или любую другую информацию, не столь важную, чтобы значиться в названиях и усложнять восприятие информации. Это значение нужно вставить в графу «Найти» . В графе ниже «Заменить на» выбирается «<Пусто>» .

    9. Сохранение шаблонов переименования

    Любую подборку выражений, плагинов, настроек замены и счётчика можно сохранить как шаблон, если в будущем нужно будет снова вернуться к переименованию данных именно в таком формате. Заполняем поле маски, выставляем прочие опции и из выпадающего перечня графы «F2 Шаблоны операции» выбираем «Сохранить шаблон» . В этом выпадающем списке и будут находиться все сохранённые шаблоны.

    Групповое переименование файлов можно отменить кнопкой «Откат» . И тогда именам будет возвращён их прежний вид. Важно: для этой процедуры принципиальное значение имеет исходное расположение данных.

    В Windows существует множество способов переименовать несколько файлов разом – через Проводник (Explorer), командную строку или PowerShell. Найдется решение и для любителей графического интерфейса, и для тех, кто предпочитает работать с командами.

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

    Проводник

    В Проводнике есть довольно неочевидный способ быстро переименовывать группы файлов. Для начала соберите все нужные файлы в одну папку. Переключитесь на вид «Таблица» (Details) и отсортируйте файлы в необходимом порядке – Проводник присваивает номера по списку начиная сверху.

    Выделите все файлы, которые требуется переименовать, нажмите правой кнопкой мыши и выберите пункт «Переименовать» (Rename). Введите новое имя и нажмите .

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

    Командная строка

    В командной строке можно использовать команду rename или ren для массового переименования файлов. Можно задействовать групповой символ * для обозначения множества файлов разом.

    Самый простой способ открыть окно командной строки в нужной папке – зажать , нажать на папке правой кнопкой мыши и выбрать «Открыть окно команд» (Open command window here).

    Чаще всего командное переименование используют для изменения расширения у целой группы файлов – в Проводнике так сделать нельзя. Приведенная ниже команда, например, превращает все файлы.html в.txt:

    ren *.html *.txt

    Сама по себе команда не очень функциональная, но ее можно применять в сложных сценариях.

    PowerShell

    PowerShell предлагает гораздо больше возможностей переименования файлов в командной среде. С помощью PowerShell можно передать вывод одной команды (командлета, как это здесь называется) другой команде, точно так же, как в Linux и других UNIX-подобных системах.

    Главные команды – это Dir для получения списка файлов в текущей папке и Rename-Item для переименования объекта (в данном случае файла). Достаточно передать вывод Dir команде Rename-Item – и готово.

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

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

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

    Dir | Rename-Item –NewName { $_.name –replace “ “,”_” }

    Можно заменить “ “ и “_” на другие символы, чтобы переименовать файлы по-другому.

    Подробнее об использовании Rename-Item для выполнения более сложных операций можно .

    Сторонние утилиты

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

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



  • Рекомендуем почитать

    Наверх