Поделиться через


Служебная программа PowerRename

PowerRename — это средство массового переименования, которое позволяет:

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

Демонстрация

В этой демоверсии все экземпляры имени файла "foo" изменяются на "foobar". Так как все файлы имеют уникальные имена, выполнение этого процесса вручную займет много времени. PowerRename включает одно массовое переименование. Обратите внимание, что команда Обозревателя "Отменить переименование" (CTRL+Z) позволяет отменить последнее изменение.

PowerRename Демонстрация

Окно PowerRename

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

PowerRename Снимок экрана меню

Искать

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

Replace with

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

Use regular expressions

Если выбрано, значение поиска будет интерпретировано как регулярное выражение (regex). Значение для замены также может содержать переменные regex (см. примеры ниже). При очистке значение поиска будет интерпретировано как обычный текст, который будет заменен текстом в поле "Заменить".

Дополнительные сведения о параметре "Использовать Boost библиотеку " в меню regex параметров расширенных функциональных возможностей см . в разделе регулярных выражений.

Сопоставление всех вхождений

Если выбрано, все совпадения текста в поле поиска будут заменены текстом "Заменить". В противном случае будет заменен только первый экземпляр поиска текста в имени файла.

Например, учитывая имена файлов: powertoys-powerrename.txt:

  • Поиск: power
  • Переименовать на: super

Значение переименованного файла приведет к следующим результатам:

  • Сопоставлять все вхождения, очищенные: supertoys-powerrename.txt
  • Сопоставлять все вхождения, выбранные: supertoys-superrename.txt

С учетом регистра

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

Применимо к: только имя файла

Только имя файла изменяется операцией. Например, txt.txtNewName.txt.

Применимо к: только расширение

Операция изменяет только расширение файла. Например, txt.txttxt.NewExtension.

Включаемые файлы

Очистка приводит к тому, что файлы не будут включены в операцию.

Включение папок

Очистка приводит к тому, что папки не будут включены в операцию.

Include subfolders

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

Форматирование текста

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

Перечисление элементов

Если выбрано, можно использовать следующие шаблоны в составе текста замены :

Шаблон переменной Описание
${} Простой счетчик, начинающийся с нуля для первого переименованного файла.
${increment=X} Счетчик с настраиваемым значением добавочного элемента.
${padding=X} Счетчик с указанным числом начальных нулей для числа.
${start=X} Счетчик с настроенным начальным значением.

Можно также использовать несколько счетчиков в одной строке замены и объединить настройки.

Например, присвойте тексту a поиска и набору файлов:

  • a.jpg
  • ab.jpg
  • abc.jpg

Замените текстом Image_${padding=4;increment=2;start=10}_ следующее:

  • Image_0010_.jpg
  • Image_0012_b.jpg
  • Image_0014_bc.jpg

Случайные строковые значения

Если выбрано, можно использовать следующие шаблоны в составе текста замены :

Шаблон переменной Описание
${rstringalnum=X} Случайные строки с прописными буквами, строчными буквами и 0-9 цифрами, настраиваемой длиной.
${rstringalpha=X} Случайная строка с прописными буквами и строчными буквами, настраиваемая длина.
${rstringdigit=X} Случайная строка с 0-9 цифрами, настраиваемая длина.
${ruuidv4} Случайный UUID в соответствии со спецификацией версии 4.

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

Если вы хотите создать значения UUID с фигурными скобками, можно добавить { и } заменить входными данными в сочетании с шаблоном ruuidv4 соответствующим образом: {${ruuidv4}}

Замена с помощью даты и времени создания файла

Атрибуты даты и времени создания файла можно использовать в тексте для замены путем ввода шаблона переменной в соответствии с таблицей ниже. Выбор подсказки в поле Заменить на позволяет просматривать и выбирать из поддерживаемых шаблонов.

Шаблон переменной Описание
$YYYY Год, представленный четырьмя или пятью цифрами в зависимости от используемого календаря.
$YY Год, представленный только последними двумя цифрами. Ноль в начале добавляется для значений лет, содержащих одну цифру.
$Y Год, представленный только последней цифрой.
$MMMM Название месяца.
$MMM Сокращенное название месяца.
$MM Месяц, представленный цифрами с нулями в начале для месяцев, порядковый номер которых является однозначным числом.
$M Месяц, представленный цифрами без нулей в начале для месяцев, порядковый номер которых является однозначным числом.
$DDDD Название дня недели.
$DDD Сокращенное название дня недели.
$DD День месяца, представленный цифрами с нулями в начале для дней, порядковый номер которых является однозначным числом.
$D День месяца, представленный цифрами без нулей в начале для дней, порядковый номер которых является однозначным числом.
$hh Часы с нулем в начале для часов, являющихся однозначным числом.
$h Часы без нуля в начале для часов, являющихся однозначным числом.
$mm Минуты с нулем в начале для минут, состоящих из одной цифры.
$m Минуты без нуля в начале для минут, состоящих из одной цифры.
$ss Секунды с нулем в начале для секунд, состоящих из одной цифры.
$s Секунды без нуля в начале для секунд, состоящих из одной цифры.
$fff Миллисекунды, представленные полными тремя цифрами.
$ff Миллисекунды, представленные только первыми двумя цифрами.
$f Миллисекунды, представленные только первой цифрой.

Например, учитывая имена файлов:

  • powertoys.png, создано 02.11.2020 (второго ноября);
  • powertoys-menu.png, создано 03.11.2020 (третьего ноября).

Введите критерии для переименования элементов:

  • Поиск: powertoys
  • Переименовать на: $MMM-$DD-$YY-powertoys

Значение переименованного файла приведет к следующим результатам:

  • Nov-02-20-powertoys.png
  • Nov-03-20-powertoys-menu.png

Регулярные выражения

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

Регулярные выражения определяют шаблон поиска текста. Их можно использовать для поиска и редактирования текста, а также для управления им. Шаблон, определенный регулярным выражением, для заданной строки может совпадать однажды, несколько раз или вообще не совпадать. PowerRename использует грамматику ECMAScript, которая является распространенной среди современных языков программирования.

Чтобы включить регулярные выражения, выберите "Использовать регулярные выражения". Примечание. Скорее всего, при использовании регулярных выражений вы захотите выбрать совпадение всех вхождения.

Чтобы использовать Boost библиотеку вместо стандартной библиотеки, выберите параметр "Использовать Boost библиотеку" в параметрах PowerToys. Она включает расширенные возможности, например lookbehind, которые не поддерживаются стандартной библиотекой.

Примеры регулярных выражений

Простые примеры сопоставления.

Искать Description
^ Сопоставление начала имени файла (нулевой размер)
$ Сопоставление окончания имени файла (нулевой размер)
.* Сопоставление всего текста в имени
^foo Сопоставление текста, начинающегося с foo
bar$ Сопоставление текста, заканчивающегося с bar
^foo.*bar$ Сопоставление текста, начинающегося с foo и заканчивающегося на bar
.+?(?=bar) Сопоставление всего с bar
foo[\s\S]*bar Сопоставление всего, что находится посередине, в том числе foo и bar

Примеры сопоставления и переменных. Группы записи определены в скобках (). Чтобы ссылаться на них, используйте $ число $1 : будет ссылаться на первую группу, $2 на вторую и т. д. При использовании переменных необходимо выбрать "Соответствие всем вхождениям".

Искать Replace with Description
(.*).png foo_$1.png Добавляет foo_ в начало существующего имени файла PNG
(.*).png $1_foo.png Добавляет foo_ в конец существующего имени файла PNG
(.*) $1.txt Добавляет расширение .txt в существующий файл
(^\w+\.$)\|(^\w+$) $2.txt Добавляет расширение .txt к существующему имени файла только в том случае, если у него нет расширения
(\d\d)-(\d\d)-(\d\d\d\d) или (\d{2})-(\d{2})-(\d{4}) $3-$2-$1 Перемещение частей в имени файла: "29-03-2020" становится "2020-03-29"
^(.{n})(.*) или (.*)(.{n})$ $1foo$2 Вставка символов foo n в начале или в конце соответственно
^.{n} или .{n}$ nothing Обрезание символов n в начале или в конце соответственно

Дополнительные ресурсы для изучения регулярных выражений

В Интернете доступны отличные примеры и памятки, которые могут вам помочь:

Руководство по регулярному выражению

Руководство по регулярным выражениям JavaScript с примерами

Фильтры списка файлов

Фильтры можно использовать в PowerRename для сужения результатов переименования. Используйте панель предварительного просмотра, чтобы проверить ожидаемые результаты.

  • Исходный, первый столбец в области предварительного просмотра переключается между:

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

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

Демонстрация фильтра PowerToys PowerRename

Настройки

Дополнительные параметры можно настроить в параметрах, как описано ниже.

Параметр Description
Показать PowerRename в PowerRename отображается как один из параметров по умолчанию или только в расширенном контекстном меню
Значок скрытия в контекстном меню Скрывает PowerRename значок в контекстном меню
Включение автозаполнения для полей поиска и замены Автоматическое предложение условий для использования в полях поиска и замены на основе предыдущих вариантов использования PowerRename
Максимальное число элементов Наибольшее количество предложений поиска и замены для отображения
Отображение недавно использовавшихся строк При открытии PowerRename заполните поля поиска и замены поля последними используемыми значениями
Использование Boost библиотеки Включите расширенные regex функциональные возможности. Дополнительные сведения см. в разделе "Регулярные выражения"