powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Поиск
12 сообщений из 12, страница 1 из 1
Поиск
    #36667260
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с проблемой нахождения файлов...
Реально ли через НайтиФайлы искать файлы определенного типа на ВСЁМ компьютере, а не в отдельной директории и если да, то каким образом?
...
Рейтинг: 0 / 0
Поиск
    #36667292
KuzEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файловая структура на ВСЕМ компьютере - древовидная.
Для обхода всех ветвей (и листьев = файлов) необходимо писать рекурсивную функцию, о чем было указано в предыдущих постах.
Данный алгоритм не зависит от среды разработки и является весьма оптимальным.
...
Рейтинг: 0 / 0
Поиск
    #36667336
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladimir_polukhinСтолкнулся с проблемой нахождения файлов...
Реально ли через НайтиФайлы искать файлы определенного типа на ВСЁМ компьютере, а не в отдельной директории и если да, то каким образом?

Как обычно - рекурсия

процедура ОдинИсточник(маскаФайла,путь)
файлы=найтифайлы(путь,МаскаФайла);

Для каждого файл Из файлы Цикл
/// собственно, тут найденные по маске файлы и обрабатываем
сообщить(файл.Путь+файл.Имя);
КонецЦикла;
конецПроцедуры

процедура ОдинКаталог(МаскаФайла,путь)
файлы=найтифайлы(путь,"*");
для каждого файл из файлы цикл
если файл.ЭтоКаталог() тогда
ОдинКаталог(МаскаФайла,файл.путь+файл.имя); // вот она - РЕКУРСИЯ для обработки всех подкаталогов
конецЕсли;
конецЦикла;

ОдинИсточник(маскаФайла,путь); // а это целевая обработка одного каталога
конецПроцедуры

одинКаталог("*.dwg","c:\"); // а это самый главный вызов для поиска по всему диску начиная с корня
...
Рейтинг: 0 / 0
Поиск
    #36667356
Рекурсия... хм... не есть оптимально...
берем структура - дерево...
возмем кол-во узлов за 1500 напишем запрос - может и отработает,
но вопрос по нагрузке на сервер а в частности по памяти бьет...

хм сколько настольных поисковичков - яндекс гугла...
зачем простите меня они индексируют то? оптимально?

далее приведу грубую аналогию с БД...
так вот просто рекурсивный запрос на сайте для извлечения каких то вшивых 350 узлов,
валит напроч среднестатический хостинг - по выделенной памяти...

и после этого будем говорить что рекурсия оптимальна для обхода дерава...
...
Рейтинг: 0 / 0
Поиск
    #36667516
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В литературе нашел такой вариант, что скажите?

Locator = Новый ComObject("WbemScripting.SWbemLocator");
ИмяКомпьютера = ".";
ServicesSet = Locator.ConnectServer(".");
Items = ServicesSet.ExecQuery("Select * from CIM_DataFile where Extension = 'dwg'");
...
Рейтинг: 0 / 0
Поиск
    #36667556
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помнится примерно на 20-30 вложенной рекурсии 1с сыпется. И кабы даже не на 15
...
Рейтинг: 0 / 0
Поиск
    #36667586
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бред какой-то... вы чего, каталогизатор на 1С пишите? почему файлы валяются как попало по всей системе? Шарить каждый раз по Windows/Program Files/TEMP/профиль юзера/ - руки не отвалятся? Предлагаю сначала как-то устранить бардак административно. Потом уже чего-то автоматизировать. Автоматизирование бардака - автоматизированный бардак в итоге.
...
Рейтинг: 0 / 0
Поиск
    #36667667
KuzEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про мнение об "оптимальности" - согласен. Я даже специально приписал слово "весьма" =)
Оптимальность рекурсии - тема другого разговора.
Я же пытался коллегу направить на понимание алгоритма сбора данных.
В конечном счете "хозяин - барин".
...
Рейтинг: 0 / 0
Поиск
    #36667757
vladimir_polukhinВ литературе нашел такой вариант, что скажите?

Locator = Новый ComObject("WbemScripting.SWbemLocator");
ИмяКомпьютера = ".";
ServicesSet = Locator.ConnectServer(".");
Items = ServicesSet.ExecQuery("Select * from CIM_DataFile where Extension = 'dwg'");

берем в случае предприятия
развертываем яндекс сервер
садим клиентов всем кому надо
ложим на форму в обработке активХ от инет эксплорера
при открытии обработки - присваем активХ адрес локального яндекс сервера
ищем...
хоть пля по всей сети...
а то что в файлопомойках хаос - а вообще пофик...
...
Рейтинг: 0 / 0
Поиск
    #36667767
KuzEvПро мнение об "оптимальности" - согласен. Я даже специально приписал слово "весьма" =)
Оптимальность рекурсии - тема другого разговора.
Я же пытался коллегу направить на понимание алгоритма сбора данных.
В конечном счете "хозяин - барин".

тонкий намек - душе разработчика наверное не понять ярости 200т пользователй, которые хатят разорвать и свитер админа и ег бороду, и еще что то ценное... к чему моя девушка насного вежливее и ценнее относится... прошу прощения за пошлость...

ИМХО не стоит советовать не оптимальных алгоритмов...
...
Рейтинг: 0 / 0
Поиск
    #36667784
vladimir_polukhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в том, что класс "CIM_DataFile" не имеет метода "Имя", "ПолучитьВремяИзменения" и т.д...
...
Рейтинг: 0 / 0
Поиск
    #36668178
vladimir_polukhinПроблема в том, что класс "CIM_DataFile" не имеет метода "Имя", "ПолучитьВремяИзменения" и т.д...Класс CIM_DataFile

Класс CIM_DataFile представляет файл. Некоторые свойства класса:

Свойство Описание
Caption
Name
Description Краткое описание объекта. Фактически - полный путь к файлу.
FileSize Размер файла в байтах.
Path Путь к каталогу, содержащему файл, завершённый наклонной чертой. Например, "\windows\system\".
EightDotThreeFileName Полный путь с DOS-совместимым именем файла. Например, для файла "c:\windows\microsoft.net\framework\v1.1.4322\vshelpmetadata.reg" это будет "c:\windows\microsoft.net\framework\v1.1.4322\vshelp~1.reg".
Drive Буква диска с двоеточием.
FileName Имя файла без расширения.
Extension Расширение имени файла.
CreationDate Дата и время создания файла.
LastAccessed Дата и время последнего доступа.
Compressed True, если файл сжат, и False в противном случае.
Hidden Булево значение, указывающее на атрибут "скрытый".
System Булево значение, указывающее на атрибут "системный".
Writeable Булево значение, указывающее на то, что файл может быть записан.
Archive True, если файл имеет атрибут "архивный", и False в противном случае.
FileType Описание типа файла (по данным реестра) исходя из его расширения.
FSName Тип файловой системы. Например, "NTFS".
CSName Имя компьютера.


источник http://www.script-coding.info/WMI_FileSystem.html
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Поиск
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]