2010-07-01

anything.elでファイル検索(Windowsの場合)

anything-c-source-locateが働かなくて困った(Meadow3使用時)。anything-config.elによると、

;;; Locate
;; NOTE for WINDOZE users:
;; You have to install Everything with his command line interface here:
;; http://www.voidtools.com/download.php
(defvar anything-c-locate-command
  (case system-type
    ('gnu/linux "locate -i -r %s")
    ('berkeley-unix "locate -i %s")
    ('windows-nt "es -i -r %s")
    (t "locate %s"))
  "A list of arguments for locate program.
The "-r" option must be the last option.")

ということで、Everythingとes.exeをダウンロードして使ってみたが、IPCが云々と言われて動かなかった。Windows7だからだろうか。

Cygwin環境なのだからlocateを使えばいいじゃんと思いupdatedbして(日本語ファイル名でエラーが発生したためLC_ALL="C"にしなければならなかったのと、システム全体では時間がかかりすぎるのでホームディレクトリ内だけに限定したデータベースを作ったりして)試してみたら、どうやらそれなりに動作しているようだった(日本語は化けたけど)。

しかしupdatedbを定期的に実行するのは面倒だ。Cygwinのcronを使ったことはないし、あまり使いたくない。

そもそもWindowsの検索機能でホームディレクトリはインデックス化しているのだから、そちらを使えないものかと思い調べてみると、そのものズバリの記事が見つかった。

しかしこの記事で紹介しているPythonスクリプトはCygwinのPythonでは動かなかった(実際そう書いてあるし)。Win32ビルドのPythonをこれだけのためにインストールするのはためらわれたので、Visual C++で書き直してみた。

ADOって初めて使ったのだけど、案外簡単なのね。

Pingback / Trackback