Сделаем это быстро



Блог переехал на doitq.ru



Friday, July 21, 2006

Locate: бонус

Люблю я всякие решения в один клик. Вот и повозившись с Locate, подумал — а ведь почти что smart folders получается. Раз уж нет у нас возможности тегировать файлы и создавать полностью виртуальное дерево, завязанное не на физическую (мм… логическую) файловую систему, а на наши хомосапиенские потребности, то хотя бы вот такие списки пусть будут. В статье я преднамеренно распинался об управлении из командной строки, так как считаю, что отсутствие фильтрации — это немедленный и окончательный приговор любому файловому менеджеру (кроме Проводника, ибо он живее всех живых по умолчанию, и нас никто не спросил). А при запуске Locate с параметрами получается как раз фильтр, но без менеджера. Впрочем не совсем без, для ежедневной рутины большей частью хватает контекстного меню и перетаскивания. Вероятно дело в том, что в моей практике сотня файлов на проект — в некоторой степени удача, а фразы шефа «скинь мне тот файлик… ну не знаю который, только немедленно!» — норма. А фильтр позволяет сразу задаться вопросом хотя бы о типе и дате файла, и здорово сузить область поиска.

Все это замечательно, но одна вещь в Locate не учтена, а именно: программа не имеет представления, какая сегодня дата. И искать файлы, предположим, за вчера в автоматическом режиме вы не можете, необходимо явно ввести дату. Автор обещал решить этот вопрос на досуге, ну а пока можно заставить еще кого-нибудь формировать нужную дату и посылать в Locate. Подобную фиговинку я написал на AutoHotKey. Вы задаете ей число дней, она вычитает это число из сегодняшней даты, и запускает Locate, подставив результат. Ограничения по дате сверху нет, вроде как ни к чему. Или нет?

Фиговина здесь, при запуске без параметров расскажет, как с ней обращаться.

Тонкости локального поиска с помощью Locate

Опубликовано в Компьютерра-ГИД: Тонкости локального поиска с помощью Locate



Локальные поисковики сейчас тема модная. Человек разумный отчаялся навести порядок на своих дисках, тем более, простецкое дерево файловой системы для порядка не очень-то приспособлено. Конечно, если говорить о полнотекстовом поиске с учетом морфологии, то никуда не денешься от монстров, не одну собаку съевших на поиске в интернете. А вот если нужно найти файл быстро и, в первую очередь, просто по имени?

Locate, программа известная среди юниксоидов, имеет и Windows-инкарнацию. Как и большие братья, она требует предварительной индексации, но индекс строится чрезвычайно быстро, а поиск впоследствии осуществляется вообще мгновенно. Кроме того, вы можете индексировать не все подряд, а только выбранные диски или папки и создать разные индексы. Я, например, на всякий случай держу индекс всего, что только есть (обновляется он редко) и рабочий индекс небольшого объема с обновлением при загрузке.

Интерфейс программы вполне ожидаем: три вкладки, на первой из которых вводится часть имени файла, расширение файла, и указывается место для поиска. На второй можно ограничить дату и размер файла, а на третьей установить дополнительные параметры и ввести текст, который файл должен содержать. Список, отображающий результаты поиска, мало чем отличается от списка файлов в «Проводнике» Windows, здесь работают и контекстное меню и перетаскивание. При установке программа прописывает в контекстное меню «Проводника» пункт «Locate…», так что независимо от количества элементов в папке вы не заблудитесь.

Если порыться в каталоге установки, можно найти файлы locate.exe и locate32.exe. Последний — это то, что мы запускаем ярлыком из меню «Программы». А первый — консольная утилита, работающая так же, только без графического интерфейса. Задания ей даются посредством параметров. Но параметры командной строки принимает и файл locate32.exe. Параметры перечислены в Readme, а здесь ограничимся простым примером.

Создайте новый ярлык и в поле «Объект» вставьте такую строку:

“C:\Program Files\Locate\Locate32.exe” -p C:\Work -t  xls  -r

Конечно же, пути у вас будут другие. Что происходит? Этот ярлык запустит Locate, вставит в поле Look in («искать в») путь C:\Work, в поле Extensions (Расширения) — строку «xls» и, принимая во внимание параметр -r, запустит поиск немедленно. Пожалуйста, все таблицы Excel из папки Work со всеми подпапками единым списком. Еще обратите внимание на параметр -c, который запускает поиск, используя в качестве имени файла содержимое буфера обмена.

Впрочем, вы можете просто сохранить условия поиска, если намерены использовать их часто, кнопкой Presets. Кроме того, Locate позволяет сохранять и результаты поиска в виде списка в текстовый файл.

На сайте программы лежит русификатор, только вот нет в жизни идеала: некоторые элементы управления расползаются, пытаясь вместить длинные русские слова.