2009-04-03

Everything search engine  いくつかのメモ書き

Everythingは常駐はするものの、インデックスファイルの更新の必要がなく、超高速な検索を実現してくれる。

試用 Everything search engineにすでに既述したように、FenrirやLocate32になじんだおいらとしては少しばかり物足りなさを感じざるを得なかった。なぜなら、検索したパスを複数の外部プログラムに自在に渡すことができないからでだった。

けれど超高速な検索は捨てがたい。

前回試してみた後にバージョンアップがあったようなので、それも含め、再度使用して、いくつか気づいた点をメモしてみた。

なお、最近Wikiができたらしく、詳細な説明(英語)がありマニュアルとして使える。

■コマンドラインオプションから以下のものを指定して検索できる

・検索をするファイル名
・検索するフォルダのpath
・検索したいテキスト
・検索をするファイル名

たとえばFenrirから、Fenrirで選択したファイル名で検索する場合はこんなかんじ。
Everything | "C:\Everything\Everything.exe" -filename "%P"
これはすでにFenrirでファイルが検索できてしまっているので、こんなことをすること事態まるで無意味。
むしろfenrirのインスタントコマンドを使うと便利だろう。こんなかんじ。
(コマンドを指定した後、ファイル名を入力して、EnterにてEverythingで検索を実行)
e="C:\Everything\Everything.exe" -filename %A
・検索するフォルダのpath

検索したいフォルダがあらかじめ決まっている場合、絞り込みが容易になる。
たとえばFenrirから、Fenrirで選択したフォルダのpath名以下のフォルダあるいはファイルを対象に、検索を実行する場合はこんなかんじ。検索したいものは開いたEverythingの検索窓に手動入力して行う。
Everything | "C:\Everything\Everything.exe" -path "%P"
インスタントコマンドを使うとこんなかんじ。(コマンド入力後、検索したものを入力し、EnterにてEverythingで検索を実行)
e="C:\Everything\Everything.exe" -path %A
・検索したいテキスト

探し出したいテキストを指定して、Everythingを起動、検索することができる。

Fenrirのインスタントコマンドを使うとこんなかんじ。(コマンド入力後、検索しいテキストを入力し、EnterにてEverythingで検索を実行)
e="C:\Everything\Everything.exe" -search %A

なお、おいらが試してみたかぎりでは、テキストとpathを同時に指定しての検索はできないようである。
おいらの方法が間違っているかあるいはほかの方法があるのかもしれない。

■外部プログラムにpathを渡して実行させる。

検索したファイルあるいはフォルダのpathを外部ファイルに渡して実行させるには、iniファイル内のopen_file_commandという項目を編集すればできるようになる。
デフォルトは以下のとおり。
open_file_command=$exec("%1")
これを、たとえばポチエスの関連付け版にpathを渡したければこんなかんじ。
open_file_command=$exec("C:\hoge\esExt5117\esExt5.exe" "%1")
検索したフォルダを好みのファイラで開くのはこんなかんじ。
open_folder_path_command=$exec("C:\Program Files\PPX\PPCW.EXE" /r "$parent(%1)")

この仕様だと、pathを渡せるプログラムがフォルダ名とファイル名、それぞれ一つずつしか指定できないのがちょっとイマイチかなぁと。まあ、ポチエスに渡すか、慣れたファイラから処理すればなんの問題もないんだけどね。

■便利な使い方 試案

Everythingの最大の長所は常に最新状態のデータベースで検索ができるということ。
そして、おいらにとっての最大の難点は、ひとたび検索結果が表示されてしまうと、その検索結果から下層のフォルダに潜ることが簡単にはできないということである。

具体的にどういうことかというと、マウスを使う場合は、右ボタンクリックでコンテキストメニューを表示させ、そこから再度Everythingで検索をかけ直し、新たな検索結果のウインドを表示させないと下層フォルダには潜れない。

キーボードからでは、Tabを押下して検索窓にカーソルを移動させ、下層フォルダ名を再入力し直して検索をかけ直さなければならない。

結果が表示されているのに、なんでこんなに手間をかけないと下層に潜れないん??? 移動がサクサクできずにもどかしくて仕方がない。いかに速度が超高速であっても、fenrirの快適な操作性に慣れすぎてしまっている身としては、つい二の足を踏んでしまう。

新規作成されるファイルはそう多くはなく、たいがい場所も決まっている。システムファイル内の必要なファイルを検索することなんて1年に数えるほどしかない。それだったら、最初から検索対象のフォルダを絞り込んで使えばいいじゃん。
ということで思いついた方法は以下のとおり。

方法その1
Everything側ではすべてのハードディスクを検索対象として設定しておく。(デフォルトの設定)そうした上でFenrirから検索したいフォルダを指定して検索する。

方法その2
Everything側では検索するフォルダを限定しておき、その上で検索する。
それ以外のフォルダを検索したければ、その都度地道に手動で検索対象フォルダを変更する。

その1の方法が現実的だろう。

なんにしてもインデックスファイルをいちいち更新しなくていいというのは捨てがたい魅力である。
外部プログラムを複数指定できるようになって、キーボード周りの使い勝手がよくなってくれればいいんだけどなぁ~と。
膨大にあるToDoリストやフォーラムをのぞいてみても argument とか External programs とかをどうするこうするなんて話題はまるであがっておらず、開発の方向性が違っているような印象を持ったので、期待しないほうがいいかもしれない。(作者の方によればファイル内テキスト検索はできるようにするつもりだけど、それをやるんだったら別のソフト使ってねと言っている)

しばらくは、fenrir ・ファイラ(ppx)・ポチエスを利用しつつ、併用しながら様子見というところだ。


0 件のコメント: