Страница 5 из 25

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

Добавлено: Вс сен 20, 2015 16:11
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 из переименования (вариант просто их не отмечать для группового переименования не подходит).

Добавлено: Вс сен 20, 2015 16:25
MVV
Исключать только по длине? Если да, то можно выделить только их маской ??.* и потом открыть переименователь.

Добавлено: Вс сен 20, 2015 16:41
perevodman
MVV писал(а):Исключать только по длине? Если да, то можно выделить только их маской ??.* и потом открыть переименователь.
Вот тут я меня и начинаются сложности, я не очень понимаю как это. Можете привести пример?

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

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

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

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

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

Есть и ещё способ. В окне группового переименования надо в поле Найти поставить не 23, а ^23 и поставить флажок Рег. выраж..

Добавлено: Вс сен 20, 2015 17:35
MVV
Да, я имел в виду самое обычное окно выделения группы файлов, которое появляется по стандартной клавише Num+ (которая на цифровом блоке стандартной клавиатуры), которая работает в любом стандартном двухпанельном файловом менеджере лет эдак 20 как минимум.
Вообще, полный список стандартных клавиш есть в файле Keyboard.txt, и переставлять их бех особой необходимости крайне не советую - кроме путаницы ничего не выйдет.

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

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

Добавлено: Вс сен 20, 2015 18:33
Staniclaw
Ну, при регулярных выражениях вертикальная черта является метасимволом, так что впрямую не выйдет. Если надо именно как в примере, то можно так. Найти:

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

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

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

Лучше даже так:
Найти:Заменить:Во всех двузначных именах первая двойка будет заменена на тройку.

Добавлено: Вс сен 20, 2015 19:00
Avada
perevodman
У меня есть ощущение, что условия задачи сообщены либо неверно, либо не полностью. Если в одной папке есть файл 23.txt, так его можно моментально найти (скажем, быстрой фильтрацией) и переименовать во что угодно и вручную. А если таких папок много, или представлен всего лишь пример, иллюстрирующий некий общий принцип назначения имён, или с остальными именами тоже что-то предполагается делать, то это неплохо бы объяснить как следует.
Кроме того, не дано никакого пояснения, почему именно нельзя выполнить переименование в одном и том же списке последовательно в несколько заходов. О том, что в ИГП результат предыдущего переименования можно тут же, не закрывая окна, загрузить кнопкой с кривой стрелкой как исходные данные для следующего переименования, надеюсь, известно?

Добавлено: Вс сен 20, 2015 19:03
perevodman
Staniclaw писал(а):Если надо именно как в примере, то можно так.
А если надо, например 73|31|146 и т.п. ?

Добавлено: Вс сен 20, 2015 19:04
Avada
perevodman
Ещё раз (см. мой предыдущий пост): сформулируйте свою задачу полностью в общем виде. И, кстати, заголовок темы, похоже, неверен: речь пока что шла не об исключении, а наоборот, о применении условий переименования только к именам определённого типа.

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

И если Staniclaw поможет с моим предыдущем вопросом, моя задача будет полностью решена. Если, конечно, с его варинтом решения это возможно. Хотя, подозреваю, возможно. Я интуитивно понимаю, как должно такое выражение выглядеть, но его синтаксиса не знаю, так как не умею с этим работать((

Добавлено: Вс сен 20, 2015 19:19
Avada
perevodman
Извините, а ответы на заданные мной вопросы — это военная тайна? И заодно уж не сочтите за труд рассказать, какое именно уточнение вам удалось разъяснить. Хотя бы даже потому, что информация о решении в общем виде, без подгонки к конкретным цифрам, вполне возможно, пригодится другим участникам форума.

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