2005-01-06

GroovyからCopernic Desktop Searchで検索する

Groovy のCOM Scriptingで遊べそうなものはないかと探していたら,Copernic Desktop Searchの検索結果をXMLで受け取って,自分のプログラム内で利用できるってことが分かりました。

デスクトップサーチというとGoogleが有名だけど,Copernic Desktop Search(CDS)も便利です。自分のPCはいまどきOSがWindowsMEなので,Google Desktop Searchが使えず,CDSを入れてます。

ActiveX コンポーネントのリストをVBAのオブジェクトブラウザでいろいろ眺めてところ, "CopernicDesktopSearchLib"というものを発見。なかのサブルーチンに"RetrieveXMLResults()"という使え そうな ものがありました。これを使うとCDSの検索結果をXMLで受け取ることが可能です。
ということで,早速Groovyでコマンドライン上で検索できるスクリプトを書いてみました。

// CopernicCommand.groovy

import org.codehaus.groovy.scriptom.ActiveXProxy;

cds = new ActiveXProxy("CopernicDesktopSearchLib.CopernicDesktopSearch")
cds.Visible = true

// 2 : File Search
cds.ExecuteSearch( 2, args[0] )
// 検索結果をXMLで受け取る
searchXml = cds.RetrieveXMLResults( 2, 100 ).value

result = new XmlParser(false, false).parseText(searchXml)
result.Item.Title.each {
println it.text()
}
上のスクリプトを"groovy CopernicCommand.groovy KEYWORD"のように実行すると,KEYWORDの検索結果のファイル名リストが表示されます。


0 件のコメント: