69
ヘーゼル 2.3

Mac OS Xのフォルダアクション機能を使うと、AppleScriptやAutomatorのワークフローを特定のフォルダに割り当てることで、ファイル名の変更や画像のサイズ変更といったファイル管理作業を自動化できます。フォルダアクションは素晴らしいアイデアですが、2つの問題があります。1つはAppleScriptやAutomatorが必要なことですが、多くのMacユーザーは使いたくない(あるいは使いこなせない)でしょう。もう1つは、スクリプトやワークフローにフィルタを明示的に追加しない限り、フォルダ内のすべてのアイテムに適用されてしまうという、やや使い勝手の悪いツールです。

Hazel は両方の問題を解決します。AppleScript や Automator を必要とせずにフォルダアクションの機能を再現し、特定のファイルへのアクションを制限するためのシンプルながらも強力なフィルタリング機能を備えています。

システム環境設定でHazelのパネルを開くと、左側にフォルダを選択・追加できるボックスが表示されます(標準フォルダのみ。Hazelのファイルフィルタリング機能を実質的に再現するスマートフォルダは使用できません)。右側には、選択したフォルダ内のファイルに対する処理をHazelに指示するルールボックスがあります。

Hazelのフォルダ選択ペイン

ルールを追加するには、プラス記号 (+) をクリックします。すると、Mail でルールを作成したことがある人なら誰でも見慣れたウィンドウが表示されます。まずルールに名前を付け、次にルールを適用する項目を定義し、最後にルールが実行するアクションを定義します。(Hazel は Growl をサポートしているため、ルールが実行されるタイミングを追跡できます。)

ファイルとサブフォルダは、想像できるほぼあらゆる機能を使って選択できます。デフォルトのポップアップリストには、名前、拡張子、種類といった分かりやすい条件が含まれていますが、「その他」オプションを選択すると、アルバムや録音年といった iTunes タグを含むあらゆる種類の Spotlight メタデータを使用できます。これらの種類のメタデータは、通常のオペランド(等しい、等しくない、含むなど)と共に使用できます。ファイル拡張子など、より分かりやすい条件のいくつかについて、共通の条件を選択するためのポップアップメニューが提供されていれば便利ですが、例えば のように、.txtすべてを手動で入力する必要があります。jpg

Hazelは独自のメタデータを使ってフォルダ項目を見つけることもできます。プログラムは、各項目がフォルダに追加された日時と、フォルダ内の項目がHazelルールに最後に一致した日時を追跡します。そのため、例えば、フォルダにファイルが追加されてから1週間が経過したらHazelルールを実行するように設定できます。これらの条件は、HazelとOS Xのフォルダアクションの大きな違いの一つを反映しています。Hazelはファイルを永続的に監視できますが、フォルダアクションはフォルダに何かが発生したとき、またはフォルダ内で何かが発生したときにのみ実行されます。

Hazelには「ルールマッチのプレビュー」機能も備わっており、実際に使用する前にフィルターをテストできます。この機能の使用中に遭遇した小さな不具合が1つあります。デフォルトでは、Hazelは監視対象フォルダのサブフォルダをチェックしません。サブフォルダをチェックするには、ルールの一部としてそのアクションを指定する必要があります。

ヘーゼルの利用可能なアクション

Hazel が選択したファイルに適用できるアクションのリストには、コピー、移動、名前の変更など、ファイル管理の基本的な操作が数多く含まれています。(名前の変更オプションは特に強力で、あらゆる種類のパターンマッチング変数を使用できます。)Hazel は、iTunes や iPhoto にメディアをインポートすることもできます。組み込みの選択肢でやりたいことがカバーされていない場合は、AppleScript や Automator ワークフローを実行することもできます。

ルールは設定された順序で実行されます。ただし、メールのルールとは異なり、Hazelは各ファイルに対して最初に一致したルールのみを適用します。つまり、例えば最初のルールが適用されたファイルは、後続のルールの影響を受けません。リストの先頭に表示される「ファイルを無視」アクションは、この順序付けされたアプローチを利用して、特定のファイルへのHazelの適用を回避します。それでも、単一のアイテムに複数のルールを適用するオプションがあれば良いと思います。

Hazelはメールやウェブブラウザからのダウンロードが完了するまで待ってからルールを適用しますが、例えばBit Torrentクライアントからのダウンロードに関してはそれほど賢くありません。これらのダウンロードが完了する前にルールが実行され、一部のアクションで問題が発生することがあります。回避策としては、追加日フィルターを追加して、フォルダ内に一定期間保存されているファイルにのみルールを適用するようにする方法があります。

HazelはDropboxフォルダとも連携できるので、興味深い可能性が広がります。例えば、外出先でMacBookに画像をインポートする場合、Automatorワークフローを使って画像を処理し、Dropboxフォルダに移動してオフィスのMacと同期するようにHazelを設定できます。また、オフィスのMacでもHazelが動作している場合は、そのDropboxフォルダにHazelルールを適用することもできます

Hazelには、ゴミ箱に入ってからの経過時間や、ゴミ箱の容量が一定を超えた時点に基づいて、ゴミ箱からファイルを削除する機能も搭載されています。また、アプリケーションをゴミ箱にドラッグすると、そのアプリケーションのサポートファイルを検索して削除する「App Sweep」機能もあります。(この機能はテストしていません。「アプリ削除ツール」は、どのファイルが特定のプログラムに属し、どのファイルが他のユーザーと共有されている可能性があるかを正確に判断できるとは考えにくいからです。)

Hazel はパワフルさと使いやすさを兼ね備えており、私がこれまで使ったMacユーティリティの中でも最も便利なものの一つです。使えば使うほど、そのパワフルさを実感します。しかし、そのパワフルさが必要かどうかという疑問があります。ファイルを定期的にダウンロードしたり、デバイス間でファイルをやり取りしたりしない限り、Hazel の機能は必要ないかもしれません。しかし、Macで頻繁に、そして繰り返し行うファイル管理タスクを実行するのであれば Hazel は作業を自動化するのに最適なツールです。