Плагин для поиска списка файлов
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Плагин для поиска списка файлов
Подскажите есть ли плагин или скрипт для total commander, для поиска списка файлов на локальном компьютере. То есть в текстовом файле задаются файлы которые нужно искать с возможностью использования масок файлов (например с помощью звездочек).
Чтоб корректно и быстро работал с большим количеством файлов которые необходимо найти (от 3000 файлов и до 50 тыс).
Если нет ничего подобного готов ЗАПЛАТИТЬ за создание.
Чтоб корректно и быстро работал с большим количеством файлов которые необходимо найти (от 3000 файлов и до 50 тыс).
Если нет ничего подобного готов ЗАПЛАТИТЬ за создание.
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Свалять такой скрипт - дело нескольких часов. Остаются непонятными две вещи:
1) При чем здесь Тотал? Тебе нужна утилита, которая ищет файлы из списка. Для этого не то что Тотал, но и вообще никакой файл-менеджер, не нужен;
2) Если Тотал все-таки при чем, то четко ставь ТЗ. Что должен делать Тотал, если:
а) Найдены все файлы из списка;
б) Не найден ни один файл;
в) Найдены некоторые файлы;
г) Произошла ошибка (скажем, список содержит запрещенный в именах символ).
Впрочем, сдается мне, что сейчас Batya (vbs) и Tol!k (батник) наперегонки тебе такой скрипт нацарапают. Причем совершенно бесплатно.
1) При чем здесь Тотал? Тебе нужна утилита, которая ищет файлы из списка. Для этого не то что Тотал, но и вообще никакой файл-менеджер, не нужен;
2) Если Тотал все-таки при чем, то четко ставь ТЗ. Что должен делать Тотал, если:
а) Найдены все файлы из списка;
б) Не найден ни один файл;
в) Найдены некоторые файлы;
г) Произошла ошибка (скажем, список содержит запрещенный в именах символ).
Впрочем, сдается мне, что сейчас Batya (vbs) и Tol!k (батник) наперегонки тебе такой скрипт нацарапают. Причем совершенно бесплатно.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Вахмурка писал(а):Впрочем, сдается мне, что сейчас Batya (vbs) и Tol!k (батник) наперегонки тебе такой скрипт нацарапают. Причем совершенно бесплатно.
Есть практически и скрипт, и плагин, для которого этот скрипт используется. Только по маске не работает.den114 писал(а):Подскажите есть ли плагин или скрипт для total commander, для поиска списка файлов на локальном компьютере. То есть в текстовом файле задаются файлы которые нужно искать с возможностью использования масок файлов (например с помощью звездочек).
Нет, я не сплю. Я просто медленно моргаю.
1. После поиска нужно чтоб файлы выводило на панель TC для последующей работы с ними средствами TC так что тотал все таки нужен.Вахмурка писал(а):Свалять такой скрипт - дело нескольких часов. Остаются непонятными две вещи:
1) При чем здесь Тотал? Тебе нужна утилита, которая ищет файлы из списка. Для этого не то что Тотал, но и вообще никакой файл-менеджер, не нужен;
2) Если Тотал все-таки при чем, то четко ставь ТЗ. Что должен делать Тотал, если:
а) Найдены все файлы из списка;
б) Не найден ни один файл;
в) Найдены некоторые файлы;
г) Произошла ошибка (скажем, список содержит запрещенный в именах символ).
2. все реакции на ситуации от а) до г) должны быть такими же как в стандартном поске ТС когда задаешь поск небольшого списка файлов через разделитель
Например
Искать файлы : file1.txt;file2.txt;file3.txt;file4.txt
У меня список из 30 тыс файлов, стандартный поиск TC с этим не справится поскольку там вроде ограничение в 1024 символа в строке поиска.Tol!k писал(а):Автор, чем родной поиск TC не устраивает? И маски ищет. Разве что список д.б. в строчку.
Вывести список найденных файлов в панель результатов вряд ли получится, разве что в папку виртуальной панели - там запросто. Но в любом случае, одновременный поиск 30000 файлов (не представляю, зачем искать сразу такое число, у меня и папок нет, содержащих такое, разве что от дурацких программ и игрушек, которые до такого додумываются вместо создания простейшего игрового архива, пусть даже без сжатия) - это довольно долгая операция, потому как она требует перечисления всех заданных директорий диска с проверкой каждого файла на совпадение с каждым заданным именем файла из списка - то есть, если в папке 10000 файлов, а в списке - 1000 элементов, то нужно 10000 операций поиска файла и 10000000 операций сравнения имен, иначе никак.
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
2MVV
А можно ли импортировать такой список в базу VirtualPanel (с возможным "разворачиванием" звездочек и вопросов в реальные имена)? Тогда мы на выходе получим список таких файлов в VirtualPanel. А далее с ними можно делать все что угодно - искать, копировать, удалять, запускать... А несуществующие файлы отмечаются спец. иконкой и удаляются скриптом.
То есть шаг 1 - без символозаменителей (wildcards), шаг 2 - с ними, что гораздо сложнее, хотя бы в силу необходимости хреновой горы сравнений.
А можно ли импортировать такой список в базу VirtualPanel (с возможным "разворачиванием" звездочек и вопросов в реальные имена)? Тогда мы на выходе получим список таких файлов в VirtualPanel. А далее с ними можно делать все что угодно - искать, копировать, удалять, запускать... А несуществующие файлы отмечаются спец. иконкой и удаляются скриптом.
То есть шаг 1 - без символозаменителей (wildcards), шаг 2 - с ними, что гораздо сложнее, хотя бы в силу необходимости хреновой горы сравнений.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Команда добавления файлов в VP поддерживает только полные пути с маской файлов, она не обрабатывает файлы в подпапках. Да и потом, она обрабатывала бы строки файла по одной, а не все сразу - а это гораздо дольше. Здесь поможет только скрипт, который выполнит поиск один раз для всего списка одновременно (то есть, проверит принадлежность каждого найденного при обходе заданных папок файла списку), а затем добавит на панель с помощью VPBatch - это если использовать виртуальную панель.
Последний раз редактировалось MVV Пт май 28, 2010 11:50, всего редактировалось 1 раз.
Что ж сделаешь, работа у меня такая, а общий объем поиска переваливает за 2 млн файлов. Кстати 10000000 оаераций вовсе не обязателен, если использовать более сложные алгоритмы поика, ну например использование бинарного дерева. Но вобщем именно за это и готов заплатить.MVV писал(а): (не представляю, зачем искать сразу такое число, у меня и папок нет, содержащих такое, разве что от дурацких программ и игрушек, которые до такого додумываются вместо создания простейшего игрового архива, пусть даже без сжатия) - это довольно долгая операция, потому как она требует перечисления всех заданных директорий диска с проверкой каждого файла на совпадение с каждым заданным именем файла из списка - то есть, если в папке 10000 файлов, а в списке - 1000 элементов, то нужно 10000 операций поиска файла и 10000000 операций сравнения имен, иначе никак.
А каким образом дерево, пусть и бинарное (хотя они практически все бинарные
) позволит не сравнивать имя очередного кандидата со всеми масками из списка? Как еще проверить, удовлетворяет ли это имя хотя бы одной из них?
Хотя, возможно, можно разбить имена из списка по символам и использовать ассоциативные массивы с символьным ключом, это позволит быстро отсеивать неподходящие имена, но с масками тут будет куда сложнее, в частности с символом *, так как тут придется пропускать все возможные количества символов и при каждом искать дальнейшие совпадения. Такая задача даже интересна.
Хотя, возможно, можно разбить имена из списка по символам и использовать ассоциативные массивы с символьным ключом, это позволит быстро отсеивать неподходящие имена, но с масками тут будет куда сложнее, в частности с символом *, так как тут придется пропускать все возможные количества символов и при каждом искать дальнейшие совпадения. Такая задача даже интересна.
den114
Если список твоих масок меняется редко, то можешь настроить группы файлов в плагине FileX и искать обычным поиском ТС.
http://wincmd.ru/plugring/FileX.html
Если список твоих масок меняется редко, то можешь настроить группы файлов в плагине FileX и искать обычным поиском ТС.
http://wincmd.ru/plugring/FileX.html
Я когда-то тоже сталкивался с поиском большого числа файлов из списка в подкаталогах. Пытался это сделать поиском, но в связи с ограничением строки, нашлось два решения
1.Если файл список содержит конкретные файлы (без звёздочек)
- cm_DirBranch (раскрытие подпапок)
- cm_LoadSelectionFromFile (загрузка выделения из файла)
- cm_ShowOnlySelected (показать только выделенное)
вот и все искомые файлы на панели...
2 способ. Использование плагина FileX, где в ini файле я вписал около 4000 файлов по дести секциям по 400 файлов
секция_1=(400 файлов разделённые ":")
секция_2=...
...
В строке можно использовать "*", "?", "|"
Дальше настраиваешь новый набор колонок - и в результате нужные файлы видны
Можно сделать шаблон для поиска, с помощью которого можно
- искать по шаблону
- выделять по шаблону
- копировать по шаблону
.....
Может это не совсем то, но мне помогло когда-то (смотря конечно какие файлы и маски)
1.Если файл список содержит конкретные файлы (без звёздочек)
- cm_DirBranch (раскрытие подпапок)
- cm_LoadSelectionFromFile (загрузка выделения из файла)
- cm_ShowOnlySelected (показать только выделенное)
вот и все искомые файлы на панели...
2 способ. Использование плагина FileX, где в ini файле я вписал около 4000 файлов по дести секциям по 400 файлов
секция_1=(400 файлов разделённые ":")
секция_2=...
...
В строке можно использовать "*", "?", "|"
Дальше настраиваешь новый набор колонок - и в результате нужные файлы видны
Можно сделать шаблон для поиска, с помощью которого можно
- искать по шаблону
- выделять по шаблону
- копировать по шаблону
.....
Может это не совсем то, но мне помогло когда-то (смотря конечно какие файлы и маски)