powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Поиск файлов
25 сообщений из 30, страница 1 из 2
Поиск файлов
    #36202664
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как получить список всех файлов на диске?
через fso получается долго - с 1т диска инфа снимается 40 минут...
чтоб потом произвести поиск в этом списке.
...
Рейтинг: 0 / 0
Поиск файлов
    #36202800
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Список файлов уже есть. "Indexing Service" называется. А поиск в нем выглядит, к примерy, так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
set q = WScript.CreateObject( "ixsso.Query" )
q.Query = "@filename= 7261_sysfiles_e.tar"
q.Catalog = "query://./SYSTEM"

q.AllowEnumeration =True
q.Dialect =  2 
q.Columns = "path"
set rs = q.CreateRecordSet( "sequential" )

Do Until rs.EOF
    WScript.echo(rs("path"))
    rs.MoveNext
Loop
...
Рейтинг: 0 / 0
Поиск файлов
    #36202933
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё гениальное - просто.
Код: plaintext
dir c:\ /s /b > my_fucken_files.txt
...
Рейтинг: 0 / 0
Поиск файлов
    #36202962
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Прошу заметить, что ваша команда перестраивает индекс по всему дереву диска, что может быть долго по времени. Каждый раз его нужно будет пересоздать перед поиском по нему-же. Мой вариант (ээээ... мною предложенный :) поиска использует индекс виндовса, т.е. перестраивать его не надо. Вот такой "advance" ;)
...
Рейтинг: 0 / 0
Поиск файлов
    #36203154
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если IndexingService остановлен или залочен - то ваш скрипт не будет работать?
...
Рейтинг: 0 / 0
Поиск файлов
    #36203231
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если IndexingService остановлен то скрипт не работает.

dir c:\ /s /b > my_fucken_files.txt - но для моей задачи потребуется его ещё и загрузить в рекордсет.
сначала произвест запуск из кода , дождаться выполнения, пропарсить и только потом производить поиск

по "Indexing Service" интересует описание
как такое строится
q.Query = "@filename= 7261_sysfiles_e.tar"
q.Catalog = "query://./SYSTEM"
что-то мне не удалось найти ....
...
Рейтинг: 0 / 0
Поиск файлов
    #36203247
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если через WMI попробовать?
...
Рейтинг: 0 / 0
Поиск файлов
    #36203341
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
покажи как, я не против, лишь бы быстро
...
Рейтинг: 0 / 0
Поиск файлов
    #36203515
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяесли IndexingService остановлен то скрипт не работает.

dir c:\ /s /b > my_fucken_files.txt - но для моей задачи потребуется его ещё и загрузить в рекордсет.
сначала произвест запуск из кода , дождаться выполнения, пропарсить и только потом производить поиск

Если задача "упирается рогом" в скорость, то я в таких случаях меняю постановку.

Думали о репликации? Об анализе изменений в ФС?
...
Рейтинг: 0 / 0
Поиск файлов
    #36203537
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотри класс CIM_DataFile.
...
Рейтинг: 0 / 0
Поиск файлов
    #36203543
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак не разберусь, как же правильно вставлять линки :(

вот тут глянь
http://www.script-coding.info/WMI_FileSystem.html
...
Рейтинг: 0 / 0
Поиск файлов
    #36203549
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
два правых слеша перед http

http://www.script-coding.info/WMI_FileSystem.html
...
Рейтинг: 0 / 0
Поиск файлов
    #36203854
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДумали о репликации? Об анализе изменений в ФС?

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

2Relic Hunter
твой скрипт выполнялся более часа... какие настройки у системы должны быть, чтоб работало ?

WMI тоже обращается к диску, довольно продолжительное время.
и как сделать чтоб это было в рекордсете?
Set colFiles = objService.ExecQuery("SELECT Name FROM CIM_DataFile WHERE Drive = 'C:' ")
типа такого
set rs = q.CreateRecordSet( "sequential" )
...
Рейтинг: 0 / 0
Поиск файлов
    #36203920
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяи как сделать чтоб это было в рекордсете?
Set colFiles = objService.ExecQuery("SELECT Name FROM CIM_DataFile WHERE Drive = 'C:' ")

Возвращает коллекцию. Пример работы с коллекцией приведен там же ниже. Какая разница с чем работать м рэкордсетом или коллекцией?


А не проще будет отслеживать изменения через API винды ?
...
Рейтинг: 0 / 0
Поиск файлов
    #36204003
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
А не проще будет отслеживать изменения через API винды ?

может быть, подскажи где подсмотреть.
...
Рейтинг: 0 / 0
Поиск файлов
    #36204006
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПример работы с коллекцией приведен там же ниже

не нашёл
...
Рейтинг: 0 / 0
Поиск файлов
    #36204028
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторFor Each objFile In colFiles
WScript.Echo objFile.Name
Next


если тут искать...
...
Рейтинг: 0 / 0
Поиск файлов
    #36204104
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А расскажите, что все-таки за задача у вас стоит. Откуда эти файлы берутся, которые надо искать?

Код: plaintext
.mahoune. 
...
Рейтинг: 0 / 0
Поиск файлов
    #36204182
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня - дежа-вю. Подобную задачу мы решали лет 5 назад, когда строили файловое хранилище XML документов. Стояла задача - отслеживать изменения и синхронизировать с другим хранилищем. Репликация не подходила т.к. синхронизировать нужно было не все файлы а избирательно (примерно 10% от всего объёма). Задача решалась API которое использует FileMon.
...
Рейтинг: 0 / 0
Поиск файлов
    #36204297
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторПример работы с коллекцией приведен там же ниже

не нашёл

В табличке приведены свойства класса CIM_DataFile. В запросе, можно или выбрать их все - select * ... , или указать конкретные поля. То есть свойства из таблички. Например:
В этом случае, в коллекции - рекордсетэ - можно обратится только к полям Name, FileSize.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select Name, FileSize from CIM_DataFile WHERE Drive = 'C:' 

' открываем выборку из коллекции в цикле
' выход из цикла - достижении конца коллекции
' objFile  - объект, через который будут доступны свойства класса для конкретного файла - аналог 
' строки в рэкорсэте

For Each objFile In colFiles

       ' вывод в MessageBox имени файла 
       WScript.Echo objFile.Name
       ' вывод в MessageBox размера файла
	WScript.Echo objFile.Name

' Next относится к объекту-коллекции, переход к следующему элэменту коллекции
' аналог Next объекта RecordSet....
Next

Про API.
http://frolov-lib.ru/books/bsp/v26/ch5_7.htm
...
Рейтинг: 0 / 0
Поиск файлов
    #36204302
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select Name, FileSize from CIM_DataFile WHERE Drive = 'C:' 

' открываем выборку из коллекции в цикле
' выход из цикла - достижении конца коллекции
' objFile  - объект, через который будут доступны свойства класса для конкретного файла - аналог 
' строки в рэкорсэте

For Each objFile In colFiles

       ' вывод в MessageBox имени файла 
       WScript.Echo objFile.Name
       ' вывод в MessageBox размера файла
	WScript.Echo objFile.FileSize

' Next относится к объекту-коллекции, переход к следующему элэменту коллекции
' аналог Next объекта RecordSet....
Next
...
Рейтинг: 0 / 0
Поиск файлов
    #36204365
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
искать перебором по колекции ни есть хорошо.
тогда уж пройтись один раз и закинуть в рекордсет, итам искать
поиск в рекордсете среди 700 000 записей - 2-3 сек

насчет API - надо пробовать
...
Рейтинг: 0 / 0
Поиск файлов
    #36204440
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяискать перебором по колекции ни есть хорошо.
тогда уж пройтись один раз и закинуть в рекордсет, итам искать

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

вадяпоиск в рекордсете среди 700 000 записей - 2-3 сек
Какой такой рэкордсэт и откуда он взялся?


Кстати, а какой сервер. Не MS SQL 2005 Enterprise или Developer. Там Integration servise есть. Он позволяет прямо из среды SQL сервера обращаться к WMI.
...
Рейтинг: 0 / 0
Поиск файлов
    #36204457
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И если у вас есть база с данными о файлах, так не логичнее буде ли считывать данные о файле с диска, и заносить их во временную табличку, а потом запрос на различия в таблицах.
...
Рейтинг: 0 / 0
Поиск файлов
    #36205256
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя2Relic Hunter
твой скрипт выполнялся более часа... какие настройки у системы должны быть, чтоб работало ?
1). Проверь включено-ли индексирование для диска.
2). В остнастке "Indexing Service" проверить статус индекса и его размер. Скорее всего индекс не успел еще построится поностью. На большом диске может занать продолжительное время.
3). Индексный поиск - самый быстрый. У мемя выполнается доли секунд. Ничего, что тут предложили быстрее быть не может по определению.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Windows [игнор отключен] [закрыт для гостей] / Поиск файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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