1

Тема: WSH: работаем с SQLite, быстрый поиск файлов на диске по имени

В линуксе есть такое:
locate - list files in databases that match a pattern
updatedb - update a file name database

По-простому: updatedb - обновляет базу файлов, а locate - это инструмент поиска в этой базе с целью быстрого выявления полного имени файла.

Для тех, кому привычно работать с командной строкой, в данном случае и сделано нечто подобное в винде. База хранится в одном файле, используется движок SQLite. Помимо собственно скриптов updatedb.wsf и locate.wsf, используются 2 dll-ки с API sqlite: newobjectspack1.dll и SQLITE3COMUTF8.dll (найдены на http://www.newobjects.com/).

Для использования cscript обработчиком по-умолчанию:

cscript //H:CScript //Nologo //S

Если нет желания назначать cscript обработчиком по-умолчанию, то использовать так:

cscript updatedb /?
cscript locate /?

Поскольку используется sql-запрос LIKE, возможен поиск файлов по маске типа locate asd%dll (если перед этим была команда типа "updatedb /ext:dll,exe", т.е. dll-файлы были включены в поиск).

Прилагаемый пакет содержит все необходимые скрипты и библиотеки, в т.ч. инсталлятор и деинсталлятор пакета в виде cmd-файлов.

Автор пакета - CaptainFlint.

Post's attachments

locate.rar 298.33 kb, 800 downloads since 2006-12-30 

You don't have the permssions to download the attachments of this post.
Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

2 (изменено: Captain Flint, 2007-01-26 14:24:18)

Re: WSH: работаем с SQLite, быстрый поиск файлов на диске по имени

---[ v.1.1 09.01.2007 ]---

1. [*] Исправлен мелкий недочет, когда после индексации файла из корня выводился путь с двумя слэшами (ex: "c:\\file.exe").
2. [+] Добавилась возможность указывать несколько путей для сканирования каталогов, например

> updatedb /path:C:\TMP\,"C:\Program Files\",d:\

3. [+] Добавилась возможность указывать индексировать все (*) файлы в каталогах, например

> updatedb /ext:* /path:C:\TMP\,"C:\Program Files\"

4. [*] Изменился путь хранения базы updatedb.db. Теперь это корень пользовательского профиля ("C:\Documents and Settings\username\updatedb.db").
5. [+] Файл uninstall.cmd не только проводит разрегистрацию библиотек, но и удаляет за собой базу.

Post's attachments

locate-1.1.zip 184.25 kb, 708 downloads since 2007-01-10 

You don't have the permssions to download the attachments of this post.

3 (изменено: Captain Flint, 2007-01-26 14:25:35)

Re: WSH: работаем с SQLite, быстрый поиск файлов на диске по имени

Вторая часть предыдущего архива. Файл в оригинале гордо носил имя locate-1.1.z01, данное ему при рождении.

Post's attachments

locate-1.1-past-2.zip 185.55 kb, 714 downloads since 2007-01-10 

You don't have the permssions to download the attachments of this post.