Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Плагин для поиска списка файлов

 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
den114



Joined: 03 Nov 2007
Posts: 25

Post (Separately) Posted: Thu May 27, 2010 22:13    Post subject: Плагин для поиска списка файлов Reply with quote

Подскажите есть ли плагин или скрипт для total commander, для поиска списка файлов на локальном компьютере. То есть в текстовом файле задаются файлы которые нужно искать с возможностью использования масок файлов (например с помощью звездочек).
Чтоб корректно и быстро работал с большим количеством файлов которые необходимо найти (от 3000 файлов и до 50 тыс).

Если нет ничего подобного готов ЗАПЛАТИТЬ за создание.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Thu May 27, 2010 23:11    Post subject: Reply with quote

Свалять такой скрипт - дело нескольких часов. Остаются непонятными две вещи:
1) При чем здесь Тотал? Тебе нужна утилита, которая ищет файлы из списка. Для этого не то что Тотал, но и вообще никакой файл-менеджер, не нужен;
2) Если Тотал все-таки при чем, то четко ставь ТЗ. Что должен делать Тотал, если:
а) Найдены все файлы из списка;
б) Не найден ни один файл;
в) Найдены некоторые файлы;
г) Произошла ошибка (скажем, список содержит запрещенный в именах символ).

Впрочем, сдается мне, что сейчас Batya (vbs) и Tol!k (батник) наперегонки тебе такой скрипт нацарапают. Причем совершенно бесплатно.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Thu May 27, 2010 23:24    Post subject: Reply with quote

Вахмурка wrote:
Впрочем, сдается мне, что сейчас Batya (vbs) и Tol!k (батник) наперегонки тебе такой скрипт нацарапают. Причем совершенно бесплатно.
Laughing

den114 wrote:
Подскажите есть ли плагин или скрипт для total commander, для поиска списка файлов на локальном компьютере. То есть в текстовом файле задаются файлы которые нужно искать с возможностью использования масок файлов (например с помощью звездочек).
Есть практически и скрипт, и плагин, для которого этот скрипт используется. Только по маске не работает.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Thu May 27, 2010 23:34    Post subject: Reply with quote

Вахмурка wrote:
Впрочем, сдается мне, что сейчас Batya (vbs) и Tol!k (батник) наперегонки тебе такой скрипт нацарапают.
Нихачю.

Автор, чем родной поиск TC не устраивает? И маски ищет. Разве что список д.б. в строчку.
Back to top
View user's profile Send private message
den114



Joined: 03 Nov 2007
Posts: 25

Post (Separately) Posted: Thu May 27, 2010 23:53    Post subject: Reply with quote

Вахмурка wrote:
Свалять такой скрипт - дело нескольких часов. Остаются непонятными две вещи:
1) При чем здесь Тотал? Тебе нужна утилита, которая ищет файлы из списка. Для этого не то что Тотал, но и вообще никакой файл-менеджер, не нужен;
2) Если Тотал все-таки при чем, то четко ставь ТЗ. Что должен делать Тотал, если:
а) Найдены все файлы из списка;
б) Не найден ни один файл;
в) Найдены некоторые файлы;
г) Произошла ошибка (скажем, список содержит запрещенный в именах символ).


1. После поиска нужно чтоб файлы выводило на панель TC для последующей работы с ними средствами TC так что тотал все таки нужен.
2. все реакции на ситуации от а) до г) должны быть такими же как в стандартном поске ТС когда задаешь поск небольшого списка файлов через разделитель
Например
Искать файлы : file1.txt;file2.txt;file3.txt;file4.txt


Tol!k wrote:
Автор, чем родной поиск TC не устраивает? И маски ищет. Разве что список д.б. в строчку.


У меня список из 30 тыс файлов, стандартный поиск TC с этим не справится поскольку там вроде ограничение в 1024 символа в строке поиска.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Fri May 28, 2010 10:56    Post subject: Reply with quote

Вывести список найденных файлов в панель результатов вряд ли получится, разве что в папку виртуальной панели - там запросто. Но в любом случае, одновременный поиск 30000 файлов (не представляю, зачем искать сразу такое число, у меня и папок нет, содержащих такое, разве что от дурацких программ и игрушек, которые до такого додумываются вместо создания простейшего игрового архива, пусть даже без сжатия) - это довольно долгая операция, потому как она требует перечисления всех заданных директорий диска с проверкой каждого файла на совпадение с каждым заданным именем файла из списка - то есть, если в папке 10000 файлов, а в списке - 1000 элементов, то нужно 10000 операций поиска файла и 10000000 операций сравнения имен, иначе никак.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Fri May 28, 2010 11:22    Post subject: Reply with quote

2MVV
А можно ли импортировать такой список в базу VirtualPanel (с возможным "разворачиванием" звездочек и вопросов в реальные имена)? Тогда мы на выходе получим список таких файлов в VirtualPanel. А далее с ними можно делать все что угодно - искать, копировать, удалять, запускать... А несуществующие файлы отмечаются спец. иконкой и удаляются скриптом.
То есть шаг 1 - без символозаменителей (wildcards), шаг 2 - с ними, что гораздо сложнее, хотя бы в силу необходимости хреновой горы сравнений.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Fri May 28, 2010 11:45    Post subject: Reply with quote

Команда добавления файлов в VP поддерживает только полные пути с маской файлов, она не обрабатывает файлы в подпапках. Да и потом, она обрабатывала бы строки файла по одной, а не все сразу - а это гораздо дольше. Здесь поможет только скрипт, который выполнит поиск один раз для всего списка одновременно (то есть, проверит принадлежность каждого найденного при обходе заданных папок файла списку), а затем добавит на панель с помощью VPBatch - это если использовать виртуальную панель.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Fri May 28, 2010 11:50; edited 1 time in total
Back to top
View user's profile Send private message
den114



Joined: 03 Nov 2007
Posts: 25

Post (Separately) Posted: Fri May 28, 2010 11:49    Post subject: Reply with quote

MVV wrote:
(не представляю, зачем искать сразу такое число, у меня и папок нет, содержащих такое, разве что от дурацких программ и игрушек, которые до такого додумываются вместо создания простейшего игрового архива, пусть даже без сжатия) - это довольно долгая операция, потому как она требует перечисления всех заданных директорий диска с проверкой каждого файла на совпадение с каждым заданным именем файла из списка - то есть, если в папке 10000 файлов, а в списке - 1000 элементов, то нужно 10000 операций поиска файла и 10000000 операций сравнения имен, иначе никак.


Что ж сделаешь, работа у меня такая, а общий объем поиска переваливает за 2 млн файлов. Кстати 10000000 оаераций вовсе не обязателен, если использовать более сложные алгоритмы поика, ну например использование бинарного дерева. Но вобщем именно за это и готов заплатить.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Fri May 28, 2010 11:52    Post subject: Reply with quote

А каким образом дерево, пусть и бинарное (хотя они практически все бинарные Smile) позволит не сравнивать имя очередного кандидата со всеми масками из списка? Как еще проверить, удовлетворяет ли это имя хотя бы одной из них?
Хотя, возможно, можно разбить имена из списка по символам и использовать ассоциативные массивы с символьным ключом, это позволит быстро отсеивать неподходящие имена, но с масками тут будет куда сложнее, в частности с символом *, так как тут придется пропускать все возможные количества символов и при каждом искать дальнейшие совпадения. Такая задача даже интересна.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri May 28, 2010 12:21    Post subject: Reply with quote

den114
Если список твоих масок меняется редко, то можешь настроить группы файлов в плагине FileX и искать обычным поиском ТС.
http://wincmd.ru/plugring/FileX.html
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Fri May 28, 2010 12:53    Post subject: Reply with quote

Я когда-то тоже сталкивался с поиском большого числа файлов из списка в подкаталогах. Пытался это сделать поиском, но в связи с ограничением строки, нашлось два решения
1.Если файл список содержит конкретные файлы (без звёздочек)
- cm_DirBranch (раскрытие подпапок)
- cm_LoadSelectionFromFile (загрузка выделения из файла)
- cm_ShowOnlySelected (показать только выделенное)
вот и все искомые файлы на панели...

2 способ. Использование плагина FileX, где в ini файле я вписал около 4000 файлов по дести секциям по 400 файлов
секция_1=(400 файлов разделённые ":")
секция_2=...
...

В строке можно использовать "*", "?", "|"
Дальше настраиваешь новый набор колонок - и в результате нужные файлы видны
Можно сделать шаблон для поиска, с помощью которого можно
- искать по шаблону
- выделять по шаблону
- копировать по шаблону
.....
Может это не совсем то, но мне помогло когда-то (смотря конечно какие файлы и маски)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group