Найти папки с большим кол-ством файлов, находимых при поиске
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3, 4  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Найти папки с большим кол-ством файлов, находимых при поиске Author: Hjkma PostPosted: Sun Jun 05, 2016 20:18
    —
Суть таковая. При поиске по маскам находятся сотни тысяч файлов. Мне нужно узнать какие папки больше среди всех содержат у себя файлы, которые находятся в поиске, а какие содержат меньше. Думается решение находится в том, что я создаю в панели результатов поиска в файл-список путем выделения в ней всех файлов и сохранения имен и путей в текстовый файл. А потом этот файл-список нужно обработать так, чтобы на выходе вышел бы текстовый файл со списком папок, отсортированных от большего к меньшему и с указанием количества файлов. Но может есть другой путь решения этой задачи. Премного благодарен, если найдется решение.

#2:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 20:28
    —
ОК. Размер в каком формате выводить? Байты, Кб, Мб, Гб, Тб, пробелы в них?

#3:  Author: Hjkma PostPosted: Sun Jun 05, 2016 20:31
    —
Flasher
Размер чего? Папок? Если да, то можно обойтись без этого. Ну или тогда Мб. Главное - количество файлов.

#4:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 20:32
    —
Hjkma
Я уже понял, что спутал. Только кол-во. ОК.

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

Только я не понял, зачем файлы то выделять? Нам же папки нужны.
Поиск в ТС не нужен. Просто по всей структуре или в выбранных папках скрипт сам всё найдёт.

#5:  Author: Hjkma PostPosted: Sun Jun 05, 2016 20:47
    —
Flasher
Ну мне это так видится чтобы оперировать с файл-списком, чтобы скрипт в нем убирал бы имена файлов и папки уровнях выше, чтобы оставались только папки последнего уровня, которые и вмещают эти искомые файлы. А потом скрипт должен считать количество этих папок в файл-списке, всего-то. Ну и преобразовать в список папок, отсортированных по кол-ству упоминаний в файл-списке от большего к меньшему и желательно добавить эту самую цифру "повторов имен папок" в файл-списке, которое по сути равно кол-ству файлов.
Например есть папки
D:\папка1\папка2\папка3\файл1.jpg
D:\папка1\папка2\папка3\файл2.jpg

D:\папка4\папка5\папка6\файл1.jpg
D:\папка4\папка5\папка6\файл2.jpg

Убираются D:\папка1\папка2\ и \файл1.jpg и D:\папка4\папка5\ и \файл1.jpg

Остаются
папка3
папка6
Вот скрипт и должен считать кол-ство повторов этих названий папок в файл-списке, ну в общем как-то оперировать с полученным списком. Так мне видится.
Но если вы видите другой путь, то ваше право действовать как нужно, конечно.

#6:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 20:59
    —
Hjkma
Что будет делать скрипт в технологическом отношении - это уже моя забота. Здесь же достаточно только задания.
Но с учётом новых условий я не могу понять, какой прок от имён папок без относительных путей, если сортировка собъёт последовательность? И куда в случае сортировки можно писать одноимённые папки и число повторов? В единый список это по всей логике не поместишь.

#7:  Author: Hjkma PostPosted: Sun Jun 05, 2016 21:04
    —
Flasher
Полный путь папок не нужен, достаточно просто названия папок. Названия папок и число повторов можно просто сделать нумерованным списком и убрав все остальное из файла-списка. Или можно сделать новый файл.

#8:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 21:08
    —
Hjkma
Так. Нужно тогда уточнить, как формируется число? Если среднее арифметическое у одноимённых папок или сумма в них, то с сортировкой проблем не будет, а если каждой папки в отдельности, то какой смысл их объединять под одним именем (указание числа и сортировка будут невозможны)?

#9:  Author: Hjkma PostPosted: Sun Jun 05, 2016 21:14
    —
Flasher

Число всего "упоминания" в файл-листе. Если например название папки "Кафе" встречается в тексте 37 раз, то соответственно в ней 37 файлов. И тогда в списке это будет например "Папка "Кафе" - 37 файлов". Это невозможно так сделать? Если дело в сортировке от большего к меньшему, то можно обойтись без этого. Тогда нужно сделать так чтобы число "упоминаний" было первым в строке, тогда через текстовый редактор можно и так легко отсортировать от большего к меньшему.

#10:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 21:20
    —
Hjkma
А-а-а-а... Т.е. нужно найти папки, в которых пападаются любые (или все?) файлы по маске безотносительно их кол-ва. Тогда ясно.

#11:  Author: Hjkma PostPosted: Sun Jun 05, 2016 21:29
    —
Flasher
Не так, мне нужно узнать кол-ство файлов, которые находятся при поиске, у папках, которые их вмещают. Чтобы узнать какие папки больше вмещают у себя те файлы, которые находятся в поиске по заданным ключевым запросам, а какие меньше всего вмещают. Так сказать узнать "рейтинг" папок по кол-ству нужных мне файлов.

#12:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 21:33
    —
Hjkma
В случае если в маске указано несколько файлов, то нельзя объединять число одноимённых папок, т.к. число файлов в них может не совпасть (в одной один файл, в другой - два и т.д.).

#13:  Author: Hjkma PostPosted: Sun Jun 05, 2016 21:40
    —
Flasher
Я вас не понял. Вы говорите про то, что могут быть разные папки, но с одним названием, т.е. одноименные? Если да, то у меня все папки имеют уникальные названия и не повторяются.

#14:  Author: FlasherLocation: Москва PostPosted: Sun Jun 05, 2016 21:44
    —
Hjkma
Это кто ж кого больше не понял - ещё вопрос. Это что значило?:
Hjkma wrote:
Если например название папки "Кафе" встречается в тексте 37 раз

#15:  Author: Hjkma PostPosted: Sun Jun 05, 2016 21:54
    —
Flasher
Поясню на примере. Осуществляю поиск по ключевым словам (а ищу я имя и фамилию) конкретно в папке "Кафе" и там находится 3 файлов, которые соответствуют поисковым запросам. Их всех выделяю в файл-лист.
Будет что-то типа
D:\User\Рабочий стол\Фото\Кафе\Владимир.jpg
D:\User\Рабочий стол\Фото\Кафе\Игорь.jpg
D:\User\Рабочий стол\Фото\Кафе\Саша.jpg

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

D:\User\Рабочий стол\Фото\ и Владимир.jpg
D:\User\Рабочий стол\Фото\ и Игорь.jpg
D:\User\Рабочий стол\Фото\ и Саша.jpg

Останутся
Кафе\
Кафе\
Кафе\

Скрипт вычисляет количество повторов и получает цифру 3 и это и есть кол-ство файлов.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2, 3, 4  Next  :| |:
Page 1 of 4

Powered by phpBB © 2001, 2005 phpBB Group