TigerにはSpotlight関係のコマンドが4つ用意されていて、すべてmdではじまる(meta dataのmdだろう(*3))。興味のある人はターミナルを立ち上げて操作してみよう。ただし、操作の仕方によってはインデックスを壊してしまうことも有り得る。その場合は、全部作り直せばいいのだけど、また我慢をしなきゃいけない。それは覚悟しておくこと。
なお、ここでは代表的な機能しか紹介できない。詳しく知りたい人は、manコマンドを使ってほしい。
Spotlightで検索する(例:mdfind 東京事変(*4)、mdfind "Pink Floyd")。これ以上言うことはないだろう。これが、シェルからSpotlightで検索する方法だ。アルファベットの大文字小文字は区別されないようだ。
個々のファイルが持っているメタデータを表示する(例:mdls /Volumes/Vega/Yesterday.m4a)。
ターミナルを起動して、mdls[スペース]と入力してから、Finderでファイルをターミナルのウインドウにドラッグ&ドロップすると、そのファイルのパスがちゃんと入力される。あとは[return]を押せば、コマンド実行だ。いろんなファイルを見てみると結構面白い。意味もなくいろいろ調べてしまう。これは、見るだけのコマンドなので、危険性はない。
ボリュームごとに、Spotlightのメタデータを管理する。管理者権限が必要なコマンドだ。“sudo mdutil”の形で使用しないといけない。オプションによって次のような機能がある。
1:mdutil -p 対象ボリューム
対象ボリュームのインデックスファイルを作成する。既にある場合には更新する(例:mdutil -p /Volumes/Vega)。
2:mdutil -E 対象ボリューム
対象ボリュームのインデックスファイルを削除する。削除されたあとは、自動的に再作成される(例:mdutil -p /Volumes/Vega)。
これは、せっかく作ったインデックスファイルを消してしまうという要注意コマンド。でも、Spotlightの挙動がおかしい場合には、これで再作成するというのが有効かもしれない。
3:mdutil -i off 対象ボリューム
対象ボリュームを、Spotlightの検索から外す(例:mdutil -i off /Volumes/Vega)。なお、これでオフにしたボリュームはメタデータや内容といったSpotlightの検索をしなくなる。従来のファイル名による検索はそのまま生きている。
4:mdutil -i on 対象ボリューム
上記でオフにしたボリュームを元に戻す(例:mdutil -i on /Volumes/Vega)。
5:mdutil -s 対象ボリューム
そのボリュームのインデックスの状況を表示する(例:mdutil -s /Volumes/Vega)。“-i”のオプションでオフにしたかどうかはこれで分かる。
6:mdimport
Spotlightのインデックスに、新しくファイルやフォルダのインデックスを追加する。実は、Spotlightはローカルディスクのすべてのファイルのインデックスを作っているわけではない。/usrの下などのUNIXとしてのディレクトリは検索の対象外になっているのだ。そんなディレクトリについてもインデックスを作りたいときにはこのコマンドを使う(例:mdimport -fV /usr/share/man)。
ところで、なんでこんなことを調べだしたかというと、AppleScriptからSpotlightを操作する方法を知りたかったのだ。でも、どうもそういうコマンドは用意されていないらしい。実はfindでいいんじゃないかとも思ったのだけど、これも外枠だけで、中身がないのだ。
set theSpotlight_result to do shell script "mdfind 東京事変"
とするしかなかった。
また、AppleScriptのスクリプトファイルの内容もSpotlightの対象にはならないようだ。これもわたしにはちょっと不便(*5)。
ところで、Spotlightの便利さを表すのにさっきからiTunesを引き合いに出しているのだけど、このiTunesの検索フィールドは従来のままで、Spotlight検索はしてくれない。このあいだ、自分の音楽データの中で、QuickTime 6.5.1のAACでエンコードされているものを探し出さなきゃいけなくなったのだけど、これはiTunesからは探せない。でも、Spotlightなら、このように探せるのだ。
ちょっとはみだしているけど、検索条件は「QuickTime 6.5.1 AAC kind:music」。kind:をつけることで、データを種類で絞り込むことができるのだ。この他にどんな種類があるかは、アップルのホームページを見てみてください。
*4ターミナルでは、日本語文字が化けたように表示される(エスケープ文字に変換されている)のだけど、実際には問題なく動作している。
*5ユーザーたちによって、ファイルのコメント欄にスクリプトの内容をそのままペーストするという大技が編み出されている。
Copyright © ITmedia, Inc. All Rights Reserved.