|
|
|
Поиск
|
|||
|---|---|---|---|
|
#18+
Столкнулся с проблемой нахождения файлов... Реально ли через НайтиФайлы искать файлы определенного типа на ВСЁМ компьютере, а не в отдельной директории и если да, то каким образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 16:39 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
Файловая структура на ВСЕМ компьютере - древовидная. Для обхода всех ветвей (и листьев = файлов) необходимо писать рекурсивную функцию, о чем было указано в предыдущих постах. Данный алгоритм не зависит от среды разработки и является весьма оптимальным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 16:46 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
vladimir_polukhinСтолкнулся с проблемой нахождения файлов... Реально ли через НайтиФайлы искать файлы определенного типа на ВСЁМ компьютере, а не в отдельной директории и если да, то каким образом? Как обычно - рекурсия процедура ОдинИсточник(маскаФайла,путь) файлы=найтифайлы(путь,МаскаФайла); Для каждого файл Из файлы Цикл /// собственно, тут найденные по маске файлы и обрабатываем сообщить(файл.Путь+файл.Имя); КонецЦикла; конецПроцедуры процедура ОдинКаталог(МаскаФайла,путь) файлы=найтифайлы(путь,"*"); для каждого файл из файлы цикл если файл.ЭтоКаталог() тогда ОдинКаталог(МаскаФайла,файл.путь+файл.имя); // вот она - РЕКУРСИЯ для обработки всех подкаталогов конецЕсли; конецЦикла; ОдинИсточник(маскаФайла,путь); // а это целевая обработка одного каталога конецПроцедуры одинКаталог("*.dwg","c:\"); // а это самый главный вызов для поиска по всему диску начиная с корня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 16:54 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
Рекурсия... хм... не есть оптимально... берем структура - дерево... возмем кол-во узлов за 1500 напишем запрос - может и отработает, но вопрос по нагрузке на сервер а в частности по памяти бьет... хм сколько настольных поисковичков - яндекс гугла... зачем простите меня они индексируют то? оптимально? далее приведу грубую аналогию с БД... так вот просто рекурсивный запрос на сайте для извлечения каких то вшивых 350 узлов, валит напроч среднестатический хостинг - по выделенной памяти... и после этого будем говорить что рекурсия оптимальна для обхода дерава... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 16:59 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
В литературе нашел такой вариант, что скажите? Locator = Новый ComObject("WbemScripting.SWbemLocator"); ИмяКомпьютера = "."; ServicesSet = Locator.ConnectServer("."); Items = ServicesSet.ExecQuery("Select * from CIM_DataFile where Extension = 'dwg'"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 17:47 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
Помнится примерно на 20-30 вложенной рекурсии 1с сыпется. И кабы даже не на 15 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 17:59 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
бред какой-то... вы чего, каталогизатор на 1С пишите? почему файлы валяются как попало по всей системе? Шарить каждый раз по Windows/Program Files/TEMP/профиль юзера/ - руки не отвалятся? Предлагаю сначала как-то устранить бардак административно. Потом уже чего-то автоматизировать. Автоматизирование бардака - автоматизированный бардак в итоге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 18:09 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
Про мнение об "оптимальности" - согласен. Я даже специально приписал слово "весьма" =) Оптимальность рекурсии - тема другого разговора. Я же пытался коллегу направить на понимание алгоритма сбора данных. В конечном счете "хозяин - барин". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 18:42 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
vladimir_polukhinВ литературе нашел такой вариант, что скажите? Locator = Новый ComObject("WbemScripting.SWbemLocator"); ИмяКомпьютера = "."; ServicesSet = Locator.ConnectServer("."); Items = ServicesSet.ExecQuery("Select * from CIM_DataFile where Extension = 'dwg'"); берем в случае предприятия развертываем яндекс сервер садим клиентов всем кому надо ложим на форму в обработке активХ от инет эксплорера при открытии обработки - присваем активХ адрес локального яндекс сервера ищем... хоть пля по всей сети... а то что в файлопомойках хаос - а вообще пофик... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 19:28 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
KuzEvПро мнение об "оптимальности" - согласен. Я даже специально приписал слово "весьма" =) Оптимальность рекурсии - тема другого разговора. Я же пытался коллегу направить на понимание алгоритма сбора данных. В конечном счете "хозяин - барин". тонкий намек - душе разработчика наверное не понять ярости 200т пользователй, которые хатят разорвать и свитер админа и ег бороду, и еще что то ценное... к чему моя девушка насного вежливее и ценнее относится... прошу прощения за пошлость... ИМХО не стоит советовать не оптимальных алгоритмов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 19:33 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
Проблема в том, что класс "CIM_DataFile" не имеет метода "Имя", "ПолучитьВремяИзменения" и т.д... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2010, 19:42 |
|
||
|
Поиск
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2010, 05:09 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=106&tid=1522286]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
5ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 373ms |

| 0 / 0 |
