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

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

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

Аватара пользователя
perevodman
Сообщения: 24
Зарегистрирован: Сб окт 08, 2011 18:44
Контактная информация:

Групповое переименование с исключением

Сообщение perevodman »

Народ, помогите, такой вопрос. Все темы с переименованием перечитал, но нужного не нашёл либо не понял. Дело вот в чём.

В одной папке есть много файлов, в т.ч. вот эти:

123.txt
323.txt
23.txt

Нужно с помощью группового переименования TC сделать так, чтобы получилось:

123.txt
323.txt
32.txt

Проблема в том, что при попытке найти и заменить 23.txt на 32.txt зацепляются и файлы 123.txt и 323.txt и становится всё вот таким:

132.txt
332.txt
32.txt

То есть, надо каким то образом заставить TC исключить 123.txt и 323.txt из переименования (вариант просто их не отмечать для группового переименования не подходит).
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Исключать только по длине? Если да, то можно выделить только их маской ??.* и потом открыть переименователь.
Аватара пользователя
perevodman
Сообщения: 24
Зарегистрирован: Сб окт 08, 2011 18:44
Контактная информация:

Сообщение perevodman »

MVV писал(а):Исключать только по длине? Если да, то можно выделить только их маской ??.* и потом открыть переименователь.
Вот тут я меня и начинаются сложности, я не очень понимаю как это. Можете привести пример?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А это уже тривиальные вещи, которые и в справке описаны, и кучу раз обсуждались на форуме. Жмешь Num+, вводишь ??.* и жмешь Ентер, а потом Ctrl+M - и вперёд.
Аватара пользователя
perevodman
Сообщения: 24
Зарегистрирован: Сб окт 08, 2011 18:44
Контактная информация:

Сообщение perevodman »

MVV писал(а):А это уже тривиальные вещи, которые и в справке описаны, и кучу раз обсуждались на форуме. Жмешь Num+, вводишь ??.* и жмешь Ентер, а потом Ctrl+M - и вперёд.
А может всё таки приведёте пример или дадите ссылочку? Было б для меня это тривиальным, я бы наверное не спрашивал, перерыв при этом два десятка тем.

Или хотя бы поясните, куда вводить ??.*. На горячие клавиши не могу ориентироваться, они у меня все переставлены. Ввожу там где маска в групповом переименовании - пишет ошибка. Ввожу где заменить тоже ничего.
Аватара пользователя
Staniclaw
Сообщения: 533
Зарегистрирован: Вс дек 12, 2010 15:37
Откуда: Ташкент

Сообщение Staniclaw »

MVV имеет в виду окно выделения файлов. В русском расширенном меню Власова-Казакова его можно вызвать командой Выделение | Выделить группу.... Появится окно Добавить выделение. Маску надо вводить в нём. Тогда выделятся только те файлы, которые под неё подпадают -- в данном случае с двузначными именами.

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

Есть и ещё способ. В окне группового переименования надо в поле Найти поставить не 23, а ^23 и поставить флажок Рег. выраж..
Вечному двигателю -- вечные тормоза!..
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Да, я имел в виду самое обычное окно выделения группы файлов, которое появляется по стандартной клавише Num+ (которая на цифровом блоке стандартной клавиатуры), которая работает в любом стандартном двухпанельном файловом менеджере лет эдак 20 как минимум.
Вообще, полный список стандартных клавиш есть в файле Keyboard.txt, и переставлять их бех особой необходимости крайне не советую - кроме путаницы ничего не выйдет.
Аватара пользователя
perevodman
Сообщения: 24
Зарегистрирован: Сб окт 08, 2011 18:44
Контактная информация:

Сообщение perevodman »

Staniclaw писал(а):MVV имеет в виду окно выделения файлов
Теперь всё понял, что имелось в виду, спасибо. Но этот способ не подходит, я даже в начале в скобочках это указал.

Staniclaw писал(а):MVVЕсть и ещё способ. В окне группового переименования надо в поле Найти поставить не 23, а ^23 и поставить флажок Рег. выраж..
А вот это почти то что надо. Почти, т.к. оказывается способ не срабовает, если надо сделать одновременно несколько действий по переименованю. Например, мне надо не только 23 заменить, но и например ещё что-то. Я всегда делал это так: 23|24|25 и т.д. А вот если поставить "рег.выражение", то при попытке написать ^23|^24|^25 получается абракадабра. Можно как то это обойти? Так как в несколько заходов неподходит, надо именно одним действием.
Аватара пользователя
Staniclaw
Сообщения: 533
Зарегистрирован: Вс дек 12, 2010 15:37
Откуда: Ташкент

Сообщение Staniclaw »

Ну, при регулярных выражениях вертикальная черта является метасимволом, так что впрямую не выйдет. Если надо именно как в примере, то можно так. Найти:

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

^2(3|4|5)
Заменить на:Цифры в поле "Найти" можно добавлять. $1 указывает на результат подвыражения в скобках.

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

Лучше даже так:
Найти:Заменить:Во всех двузначных именах первая двойка будет заменена на тройку.
Вечному двигателю -- вечные тормоза!..
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

perevodman
У меня есть ощущение, что условия задачи сообщены либо неверно, либо не полностью. Если в одной папке есть файл 23.txt, так его можно моментально найти (скажем, быстрой фильтрацией) и переименовать во что угодно и вручную. А если таких папок много, или представлен всего лишь пример, иллюстрирующий некий общий принцип назначения имён, или с остальными именами тоже что-то предполагается делать, то это неплохо бы объяснить как следует.
Кроме того, не дано никакого пояснения, почему именно нельзя выполнить переименование в одном и том же списке последовательно в несколько заходов. О том, что в ИГП результат предыдущего переименования можно тут же, не закрывая окна, загрузить кнопкой с кривой стрелкой как исходные данные для следующего переименования, надеюсь, известно?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
perevodman
Сообщения: 24
Зарегистрирован: Сб окт 08, 2011 18:44
Контактная информация:

Сообщение perevodman »

Staniclaw писал(а):Если надо именно как в примере, то можно так.
А если надо, например 73|31|146 и т.п. ?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

perevodman
Ещё раз (см. мой предыдущий пост): сформулируйте свою задачу полностью в общем виде. И, кстати, заголовок темы, похоже, неверен: речь пока что шла не об исключении, а наоборот, о применении условий переименования только к именам определённого типа.
Последний раз редактировалось Avada Вс сен 20, 2015 19:11, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
perevodman
Сообщения: 24
Зарегистрирован: Сб окт 08, 2011 18:44
Контактная информация:

Сообщение perevodman »

Avada писал(а):У меня есть ощущение, что условия задачи сообщены либо неверно, либо не полностью.
Данное ощущение у вас неверно. Мне надо сделать именно то, что я написал. Там не было уточнения, которое я из-за своего незнания не привёл, но оно уже разъяснилось благодаря Staniclaw.

И если Staniclaw поможет с моим предыдущем вопросом, моя задача будет полностью решена. Если, конечно, с его варинтом решения это возможно. Хотя, подозреваю, возможно. Я интуитивно понимаю, как должно такое выражение выглядеть, но его синтаксиса не знаю, так как не умею с этим работать((
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

perevodman
Извините, а ответы на заданные мной вопросы — это военная тайна? И заодно уж не сочтите за труд рассказать, какое именно уточнение вам удалось разъяснить. Хотя бы даже потому, что информация о решении в общем виде, без подгонки к конкретным цифрам, вполне возможно, пригодится другим участникам форума.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
perevodman
Сообщения: 24
Зарегистрирован: Сб окт 08, 2011 18:44
Контактная информация:

Сообщение perevodman »

Avada писал(а):И заодно уж не сочтите за труд рассказать, какое именно уточнение вам удалось разъяснить.
Нет нет, мне не удалось разъяснить, я не подумал в вопросе уточнить. А именно, то, что я по своему незнанию спросил о варианте, когда все первые цифры двойки: 23|24|25. Я не подумал, что решение, которое предложит Staniclaw будет касаться только двоек ^2(3|4|5). Я думал оно будет общим, а ведь цифры могут быть совершенно разные, например 73|31|146 и уже с ними решение работать не будет.
Последний раз редактировалось perevodman Вс сен 20, 2015 19:28, всего редактировалось 1 раз.
Ответить