Групповое переименование

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

ZorKon71
Сообщения: 36
Зарегистрирован: Вт май 11, 2010 09:25
Откуда: Обираловка, МО

Подскажите как настроить Функцию группового переименования

Сообщение ZorKon71 »

Доброго времени суток!

Подскажите как настроить Функцию группового переименования, так чтобы из списка каталогов (или файлов):
  • 01\
    02\
    03\
    04\
    05\
получить:
  • 01-Январь\
    02-Февраль\
    03-Март\
    04-Апрель\
    05-Май\
Это возможно?
Спасибо.

Добавлено спустя 18 минут:

Есть ещё идейка, что бы найти плагин для определения длинны строки и добавление символов, что бы можно было выровнить:
  • 01-Январь пересчёт\
    02-Февраль пересчёт\
    03-Март пересчёт\
    04-Апрель пересчёт\
    05-Май пересчёт\
в
  • 01-Январь пересчёт\
    02-Февраль пересчёт\
    03-Март пересчёт\
    04-Апрель пересчёт\
    05-Май пересчёт\
Я наверное многого хочу... :wink:
Аватара пользователя
Monarch-LFV
Сообщения: 360
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

ZorKon71
По первой чести вопроса:
С помощью ИГП в чистом виде такое увы получить не получится.
Самое простое, создать батник с текстом:

Код: Выделить всё

for %%i IN (%*) do (
 If %%~ni equ 01 (ren %%i %%~ni-Январь)
 If %%~ni equ 02 (ren %%i %%~ni-Февраль)
 If %%~ni equ 03 (ren %%i %%~ni-Март)
 If %%~ni equ 04 (ren %%i %%~ni-Апрель)
 If %%~ni equ 05 (ren %%i %%~ni-Май)
 If %%~ni equ 06 (ren %%i %%~ni-Июнь)
 If %%~ni equ 07 (ren %%i %%~ni-Июль)
 If %%~ni equ 08 (ren %%i %%~ni-Август)
 If %%~ni equ 09 (ren %%i %%~ni-Сентябрь)
 If %%~ni equ 10 (ren %%i %%~ni-Октябрь)
 If %%~ni equ 11 (ren %%i %%~ni-Ноябрь)
 If %%~ni equ 12 (ren %%i %%~ni-Декабрь)
)
Сделать с этого батника кнопку и в параметрах прописать %P%S.

Способ посложнее:
С помощью ИГП такое можно получить, только воспользовавшись плагином WinScriptsAdv.wdx, но для него также потребуется написать скрипт для получения пользовательских полей, и эти поля использовать в самом ИГП.

По второй части вопроса (добавленному позже) не увидел разницы, что и во что должно превратиться (выровняться)?
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

ZorKon71
В простейшем случае можно так попробовать:
Найти: 01|02|03|04|05|06|07|08|09|10|11|12
Заменить на: 01-январь|02-февраль|03-март|04-апрель|05-май|06-июнь|07-июль|08-август|09-сентябрь|10-октябрь|11-ноябрь|12-декабрь
Аватара пользователя
Monarch-LFV
Сообщения: 360
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

sa
Хм, точно, чёт не додумался.
ZorKon71
Сообщения: 36
Зарегистрирован: Вт май 11, 2010 09:25
Откуда: Обираловка, МО

Сообщение ZorKon71 »

Здорово!
Спасибо всем!

Добавлено спустя 9 минут:
Monarch-LFV писал(а):По второй части вопроса (добавленному позже) не увидел разницы, что и во что должно превратиться (выровняться)?
К сожалению не мог воспроизвести...
После названия месяца пробелы догоняют последний текст ("пересчёт"), что бы он начинался ровно в списке.
Аватара пользователя
Monarch-LFV
Сообщения: 360
Зарегистрирован: Пн июл 22, 2019 13:20

Сообщение Monarch-LFV »

ZorKon71
А вы используете моноширинный шрифт в панелях Тотала? Просто по-умолчанию шрифт Microsoft Sans Serif - НЕ моноширинный, поэтому выравнивать по количеству символов (по полной длине) будет бессмысленно.
Например, одинаковое количество символов:
III
ШШШ
как видно имеют разную ширину.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

ZorKon71
К подфоруму "Секреты и советы" данное обсуждение никакого отношения не имеет (его предназначение пояснялось многократно). Кроме того, есть открытые темы по групповому переименованию, и это вполне можно было бы спросить там. Переносится в профильную тему в "Общих вопросах" с замечанием за нарушение правил форума.
Даже самая богатая фантазия
Не представит себе наши безобразия.
ZorKon71
Сообщения: 36
Зарегистрирован: Вт май 11, 2010 09:25
Откуда: Обираловка, МО

Сообщение ZorKon71 »

Доброго времени суток, снова я!

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

Было:
01-Январь - пересчёт
02-Февраль - пересчёт
03-Март - пересчёт
04-Апрель - пересчёт
05-Май - пересчёт
06-Июнь - пересчёт
07-Июль - пересчёт
08-Август - пересчёт
09-Сентябрь - пересчёт
10-Октябрь - пересчёт
11-Ноябрь - пересчёт
12-Декабрь - пересчёт

Должно стать:
01-Январь
02-Февраль
03-Март
04-Апрель
05-Май
06-Июнь
07-Июль
08-Август
09-Сентябрь
10-Октябрь
11-Ноябрь
12-Декабрь

Реально ли изменить имя плагином например?
Понимаю что руками наверное легче.
Но это как бы основной пример. Бывают разные варианты...

Спасибо!
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

ZorKon71
Выделить файлы --> Ctrl+M -->
Поиск и замена
Найти: *
Заменить на:<Пусто>
Снять галку с поля [E] (Заменять также в расширениях файлов).

В поле Найти: указаны два символа: пробел и звёздочка.
ZorKon71
Сообщения: 36
Зарегистрирован: Вт май 11, 2010 09:25
Откуда: Обираловка, МО

Сообщение ZorKon71 »

sa писал(а):ZorKon71
Выделить файлы --> Ctrl+M -->
Поиск и замена
Найти: *
Заменить на:<Пусто>
Снять галку с поля [E] (Заменять также в расширениях файлов).

В поле Найти: указаны два символа: пробел и звёздочка.
Спасибо!
В данном случае - Отличное решение!
Как я сам не догадался...
exsky
Сообщения: 3
Зарегистрирован: Пт мар 17, 2023 14:12

Сообщение exsky »

Avada писал(а):Zorro
Простейший случай перестановки слов с регэкспами. ЕПНИП, подобное объяснялось уже не единожды.
Найти: (.*) (.*)
Заменить на: $2 $1
В обеих строках не забыть про пробелы. Для "Рег. выраж" поставить галку.
У меня проблемав в квадратных скобах.

Исходник: [Александра Гуреева] Волшебная кнопка (2022)

При исходном поиске пересталяется (2022) в начаало.

Методом тыка нашел комбинацию (.*) (.*)] , которая меняет местами, но криво

Гуреева [Александра Волшебная кнопка (2022)

Какая формула поиска дожна быть, чтобы было в итоге

[Гуреева Александра] Волшебная кнопка (2022)
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

exsky
Попробуйте!
Найти:\[(.*) (.*)]
Заменить на:[$2 $1]
exsky
Сообщения: 3
Зарегистрирован: Пт мар 17, 2023 14:12

Сообщение exsky »

Все нормально переворачивает, но начинает дурить когда есть еще квадратные скобки.

Типа такого

[Вадим Балюк] [Анатомия] Пуленепробиваемые колени (2022)\" -> " [[Анатомия Вадим Балюк]] Пуленепробиваемые колени (2022)"

[Евгения Чижикова] [BBalance] Брюшная полость. Внутренние органы (2022)\" -> " [[BBalance Евгения Чижикова]] Брюшная полость. Внутренние органы (2022)"
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Тогда модификатором (?-g) надо ещё отключить "жадный" режим:
Найти:(?-g)\[(.*) (.*)]
rusline
Сообщения: 10
Зарегистрирован: Вс дек 06, 2020 23:21

Сообщение rusline »

Всем привет!
Подскажите пож-та как переименовать папки.
Например, название папки: VA - 10 Aniversario. Vol. 03 [AYS100C]
хочу в конце добавить (2019).
При добавлении в шаблон [N] (2019) получается наименование VA - 10 Aniversario. Vol (2019). 03 [AYS100C]

Помогает только переименование точек в запятые и добавление потом (2019).

Можно как то без переименований просто в конец названия папки добавить текст ?
Ответить