Страница 1 из 1
Поиск файлов сравнением со списком в текстовом файле
Добавлено: Ср дек 14, 2011 13:24
Bannndi
Добрый день!
Давно уже интересует такой вопрос: есть ли возможность сравнивать имена файлов, находящихся в директории и в текстовом файле?
К примеру, в папке накопилось большое количество файлов, часть из которых более неактуальна. Проверять по параметрам файлов нереально - файлы именно аналогичны по содержимому, но не полностью идентичны.
Единственный правильный источник списка файлов в директории - это внешний файл (в ориг. XLS, но не проблема переделать в текстовый формат)
Может быть, уже существует решение такой проблемы? Кто знает, отзовитесь, пожалуйста! ))
Добавлено: Ср дек 14, 2011 16:07
Flasher
Bannndi писал(а):файлы именно аналогичны по содержимому, но не полностью идентичны
Это как? Одно другому противоречит. Если речь о текстовом содержимом файлов, где, например, разная кодировка, то - другое дело.
И что должно быть в результате? Выделение фалов, которых нет в списке?
Добавлено: Ср дек 14, 2011 17:34
Bannndi
Flasher
Спасибо за отклик!
Поясняю: есть файлы изображений с уникальными именами файлов. Так со временем происходит, что часть изображений более не актуальна, и от них нужно избавиться. Или эти изображения просто случайно продублированы, но также с разными именами файлов. Поэтому обработчику сравнения не требуется ни открывать файлы, ни сравнивать их атрибуты - все что нужно - это сравнить со списком имен файлов, который во внешнем текстовом файле.
В результате - да, выделение файлов, которых нет в списке (или наоборот, так как можно инвертировать выделение)
Добавлено: Ср дек 14, 2011 17:52
MVV
Они лежат в одной папке или разных?
Если одной, то проще простого -
cm_LoadSelectionFromFile и выбрать файл со списком файлов.
Если в разных, у которых общая надпапка, можно поиском найти все файлы изображений, передать на панель, а потом упомянутой командой выбрать файл следующего вида (то же, что и в предыдущем варианте, но в конце каждого имени
*):
Код: Выделить всё
имяфайла1.jpg*
имяфайла2.jpg*
имяфайла3.jpg*
Но сработает правильно только в случае, если имена файлов абсолютно уникальные (не повторяются в разных папках).
Добавлено: Ср дек 14, 2011 17:57
Tol!k
Добавлено: Ср дек 14, 2011 18:17
Bannndi
MVV
Вроде получилось! Спасибо за помощь!
Добавлено: Ср дек 14, 2011 18:28
Flasher
Bannndi
Если лишние действия с диалогами не напрягают, то скрипт (который я уже, м.п., сделал) не нужен?
Добавлено: Ср дек 14, 2011 18:33
Bannndi
Flasher
А какие лишние действия-диалоги с командой cm_LoadSelectionFromFile ?
У меня все получилось, действий минимум. Создал текст.файл, выполнил команду, все.)
Если речь идет об планировщике запуска такого скрипта, то необходимости такой пока нет)
Добавлено: Ср дек 14, 2011 18:41
Flasher
Bannndi писал(а):У меня все получилось, действий минимум. Создал текст.файл, выполнил команду, все.)
Открытие диалога, поиск папки с файлом-списком, выбор этого файла, подтверждение + инверсия - это минимум?

Добавлено: Ср дек 14, 2011 18:49
Bannndi
Flasher
Да не сложно это, не на столько часто эту задачу надо решать)
Есть еще хорошая команда :
cm_LoadSelectionFromClip - выделяет файлы из буфера
Проверил, тоже работает. Единственное, что не нравится - это копипастить команду из списка команд. Нет ли способа сохранить эту команду в какойто исполняемый файл, чтобы просто кликнуть и получить желаемый результат?
Пока что сделал кнопку на панели инструментов, вроде все устраивает, спасибо за помощь )
Добавлено: Ср дек 14, 2011 18:55
Flasher
Bannndi писал(а):Да не сложно это
То, что кому-то несложно - другой вопрос, н то, что это никакой не минимум - факт. К тому же не я писал:
Bannndi писал(а):которых нет в списке (или наоборот, так как можно инвертировать выделение)
Bannndi писал(а):Нет ли способа сохранить эту команду в какойто исполняемый файл, чтобы просто кликнуть и получить желаемый результат?
Так а зачем? Ведь
Bannndi писал(а):не сложно это
Оставлю, пожалуй, себе этот исполняемый файл (скрипт) на память...
Добавлено: Ср дек 14, 2011 20:34
Avada
Bannndi
Замечание за нарушение
правил форума. Избыточное цитирование из четырёх постов удалено.
Добавлено: Ср дек 14, 2011 20:41
MVV
Bannndi, кнопку ж можно сделать на тулбаре с командой)) или на хоткей повесить в настройках. Или файл меню отредактировать... Да и в меню избранных каталогов можно тоже команды добавлять.
Добавлено: Ср дек 14, 2011 21:04
Flasher
MVV
Если трактовать получение желаемого результата как исполнение внутренней команды с предварительным копирование имён из файла, то твои предложения уместны (но это уже, как известно, справочная информация), а если результатом считать выделение без лишних манипуляций, то - нет.