Поиск папок с частично одинаковыми названиями

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

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

decrypted
Сообщения: 5
Зарегистрирован: Вс май 23, 2010 13:34

Поиск папок с частично одинаковыми названиями

Сообщение decrypted »

Как в Total Commander найти папки дубликаты, которые имеют частично одинаковые имена, если таких папок много? Папки отличаются по имени, но на самом деле они дубликаты. Нужно, чтобы Total Commander нашел все подобные папки (примеры ниже). Поиск по размеру не предлагайте.
Примеры с названиями папок:
421 - one - two
123 - one - two
223 - one - two - 2
521 - three - four
735 - three - four
635 - three - four - 4
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Может я чего-то недопонял, но почему нельзя сделать поиск по той части имени, что совпадает?
Результаты вытащить на панель, и с помощью быстрого фильтра уже окончательно с ними разобраться.
decrypted
Сообщения: 5
Зарегистрирован: Вс май 23, 2010 13:34

Сообщение decrypted »

D1P
Потому что подобных папок много, я не знаю какие папки дубликаты и есть ли они вообще. Мне нужно, чтобы Total Commander выдал результат поиска с папками дубликатами (с частично одинаковыми именами или точными именами) и отсеял папки, которые не дубликаты.
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

decrypted
TC не ищет дубликаты папок.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Изображение
Expander.wdx с полями [=expander.Part2][=expander.Part3]
decrypted
Сообщения: 5
Зарегистрирован: Вс май 23, 2010 13:34

Сообщение decrypted »

Tol!k
Скачал плагин http://fgartemann.free.fr/TC_Plugins/Wd ... pander.zip, установил. Создал новый набор колонок с полями [=expander.Part2][=expander.Part3], но ничего не получилось. Как Вы сделали, чтобы плагин в качестве разделителя использовал пробел, а не символ подчеркивания?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Вообще, плагин по идее и не знает, что у него требуют эти два поля, он просто их возвращает, а ТК уже объединяет эти поля. И если поставить пробел между [=expander.Part2] и [=expander.Part3], то по идее должен появиться пробел между второй и третьей частью имени.
decrypted
Сообщения: 5
Зарегистрирован: Вс май 23, 2010 13:34

Сообщение decrypted »

MVV
Поставил пробел между [=expander.Part2] и [=expander.Part3], все равно никак.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А-а, я понял, о чем ты - о разделителе, который определяет границы частей имен.

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

Что-то по исходнику вообще не представляется возможным использование пробела - перед разбиением плагин заменяет все пробелы на "#A#", а потом обратно - но из строки разделителя читает всегда ровно 1 символ. :shock: И тот каким-то извращенным способом.

Да, моя логика верна - при указании разделителя # строка оборвалась на первом же пробеле. То есть, при указании # будем иметь желаемое, но необходимо учитывать, что на каждом пробеле добавится невидимая часть с буквой A, образованная странной заменой пробела на строку "#A#" перед разбиением имени на подстроки. Т.о., у меня плагин оставил "one two" от имени первой папки по [=expander.Part5] [=expander.Part9] в столбце при разделителе #. Да, маловато полей в плагине предусмотрено...
Но тут еще проблема в том, что символ # не должен встречаться в именах. В общем, как все сложно...

Поправьте, если я ниче не понял в исходнике, и есть более гуманный способ. :D

Кстати, Tol!k судя по всему использовал минус в качестве разделителя.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

decrypted писал(а):Создал новый набор колонок с полями [=expander.Part2][=expander.Part3], но ничего не получилось.
А так?: [=expander.Part1][=expander.Part2]
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):
decrypted писал(а):Создал новый набор колонок с полями [=expander.Part2][=expander.Part3], но ничего не получилось.
А так?: [=expander.Part1][=expander.Part2]
Не поможет:) в плагине по умолчанию как разделитель используется символ подчеркивания, поэтому первая часть будет содержать имя целиком, если этот символ там не встречается - и это явно не то, что требуется автору топика)) требуется как раз модификация LNG-файла с целью указать нужный разделительный символ.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Не поможетSmile
Согласен, дефис не уберётся. У меня таки без Part1 вообще ничего не показывает.

decrypted
Кстати, сразу на ум пришла мысль. А чем QuickSearch не сдался? Я бы без раздумий его использовал.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Можно использовать Script Content plugin.
General.vbs:

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

'========== Изменяемые параметры ===========================================
Const Dlm = " - " 'Разделитель
'===========================================================================

Dim Arr
Arr = split(filename, Dlm)
content  = Arr(0)
content1 = ""
content2 = ""
content3 = ""
content4 = ""
content5 = ""
content6 = ""
content7 = ""
content8 = ""
content9 = ""

if UBound(Arr) > 0 Then content1 = Arr(1)
if UBound(Arr) > 1 Then content2 = Arr(2)
if UBound(Arr) > 2 Then content3 = Arr(3)
if UBound(Arr) > 3 Then content4 = Arr(4)
if UBound(Arr) > 4 Then content5 = Arr(5)
if UBound(Arr) > 5 Then content6 = Arr(6)
if UBound(Arr) > 6 Then content7 = Arr(7)
if UBound(Arr) > 7 Then content8 = Arr(8)
if UBound(Arr) > 8 Then content9 = Arr(9)
script.ini:

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

[Script]
Section=General

[General]
LongName=0
ParseDirs=1
Script=General.vbs
Нет, я не сплю. Я просто медленно моргаю.
decrypted
Сообщения: 5
Зарегистрирован: Вс май 23, 2010 13:34

Сообщение decrypted »

К сожалению, плагин Expander вроде бы не подходит. Плагины QuickSearch и Script Content Plugin попробую позже. Еще раз напишу про проблему, но с другим примером, чтобы вам было легче понять.

У меня много папок в одном каталоге.
Примерные имена папок:
104 - III - JJJ
234 - AAA - BBB - 1
245 - FFF - GGG
325 - DDD - EEE
365 - AAA - BBB
522 - AAA - BBB CCC

522 - MMM - NNN
612 - FFF - GGG HHH
622 - FFF - GGG
625 - FFF - GGG - 2

781 - KKK - LLL
834 - AAA - BBB
и т.п.

Мне нужно найти папки дубликаты, которые имеют частично одинаковые имена.
Папки, которые необходимо обнаружить в результате поиска:
234 - AAA - BBB - 1
245 - FFF - GGG
365 - AAA - BBB
522 - AAA - BBB CCC

612 - FFF - GGG HHH
622 - FFF - GGG
625 - FFF - GGG - 2

834 - AAA - BBB
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

decrypted писал(а):Плагины QuickSearch ... попробую позже.
Это не плагин, а встроенный быстрый поиск. Вызывается панель быстрого поиска так, как это задано в настройках, пишутся искомые символы(вне зависимости от их расположения в тексте; при этом должна быть снята птица в Точном соответствии имени с "Начало(..)"), и включается режим фильтрации по Ctrl+S(если уже не активирован), потом Esc, Ctrl+A и работаем с выделенными файлами, как хотим.
Ответить