Automatorは10.4の私のお気に入りの機能の一つです。プログラミングの知識が全くなくても、ほぼ誰でも便利なアクションを作成できるのです。先日掲載されたこちらの記事では、Automatorの仕組みを実際に体験できる5つの簡単なアクションを例に挙げ、まさにその点を実証しています。
しかし、Automatorが真価を発揮するのは、比較的使いやすいインターフェースと、Automatorアクションを通してAppleScriptやシェルスクリプトに直接アクセスできる機能を組み合わせた時です。この技術を使うことで、Automatorのインターフェースを通してOS Xのパワーをフルに活用できるようになります。AppleScriptやシェルスクリプトのコードを書ける人とAutomatorを組み合わせれば、これからご紹介するような便利なユーティリティがきっと作成できるでしょう。
10.4 ユーザであれば、Finder の新しい書き込み可能フォルダにはお馴染みでしょう。OS X のこの歓迎すべき追加機能により、CD-R に書き込むときに長いファイル複製の作業が終わります。新しい書き込み可能フォルダを作成し、CD-R に書き込みたいすべての項目をそのフォルダにドラッグして、「書き込み」ボタンをクリックするだけです。すべてのファイルをコピーする代わりに、OS X は書き込み可能フォルダにエイリアスを作成し、「書き込み」をクリックしたときにそれらを実際のデータ ファイルに解決します。このプロセスは以前の OS X リリースよりもはるかに高速です。ただし、完璧ではありません。すでに書き込み可能なファイルでいっぱいのフォルダがあり、そのフォルダに書き込むだけの場合はどうでしょうか。新しい書き込み可能フォルダを作成し、そこにたくさんのエイリアスをドラッグしてからそのフォルダを書き込むというのは、あまり意味がないように思えます。
実は、そうする必要はありません。マシン上のどのフォルダでも、名前に特別な拡張子 .fpbf を追加するだけで、書き込み可能なフォルダに変えることができます。ユーザーフレンドリーなOS Xなので、もちろんFinderからこれを行うことはできません。拡張子はシステム用に予約されているというメッセージが表示されます。ターミナル(/アプリケーション/ユーティリティ)の使い方を賢くすれば、この問題を回避できます。新しいターミナルウィンドウを開き、書き込み可能にしたいフォルダがあるディレクトリに移動し( cd コマンドを使用)、 コマンドを使って mv フォルダの名前を変更します。
mv 「マイフォルダ」「マイフォルダ.fpbf」
Returnキーを押せば完了です。「My Folder」フォルダが書き込み可能になり、Finderに書き込み可能なフォルダアイコンが表示されます。Finderで、新しく書き込み可能になったフォルダをクリックし、「書き込み」ボタンをクリックすると、そのフォルダ内のファイルで構成されたシンプルなCD-Rが作成されます。フォルダの書き込み可能状態を解除するには、ターミナルに戻り、拡張子を除いて同じコマンドを実行します。
mv "マイフォルダ.fpbf" "マイフォルダ"
でもご安心ください。今日のブログは、ターミナルを使ってこのトリックを実行する方法ではなく、Automatorを使って、わざわざ手を汚さずに実行する方法をご紹介します。Finderプラグインを作成し、1つ(または複数)のフォルダを選択して、シンプルなコンテキストメニューから書き込み可能かどうかを切り替えることができます。難しそうに聞こえますが、実際にはとても簡単です。
更新: 以下のAutomatorワークフローは、この記事の初版公開以降に変更されています。FinderとAutomator本体(テスト時)の動作に矛盾が生じるのを避けるため、1ステップのワークフローから2ステップのワークフローに変更しました。
まず、アプリケーションフォルダにある Automator を起動します。2 ステップの Automator アクションを作成します。まず、ライブラリ列の Finder エントリをクリックします。次に、アクション列で「選択した Finder 項目を取得」を見つけて、ウィンドウの右側の空白の作業領域にドラッグします。次に、ライブラリ列で Automator エントリを選択し、アクション列で「シェル スクリプトを実行」エントリを見つけて、右側の作業領域にドラッグします。このアクションは、既に配置したアクションの下にドロップするようにしてください。Finder アクションをドロップした後、そのウィンドウでシェル ポップアップ メニューをクリックし、 に設定されていることを確認します /bin/bash。また、入力を渡すポップアップを に設定します。 as arguments. これにより、作成しようとしているシェル スクリプトが正しく実行されるようになります。
シェルスクリプトのスキルがあれば、本当に素晴らしいことができると言ったことを思い出してください。macosxhintsの読者の一人、Alex Nicksayさんが、Macosxhints.comに、書き込み可能なフォルダの名前を裏で変更するシェルスクリプトを投稿しました。ワークフローの「シェルスクリプトの実行」エリアで、スクリプトエリア(現在 と表示されている場所 on run… )をクリックして、テキストをすべて削除してください。その場所に、以下のコードをコピー&ペーストしてください。
i in "$@" を実行 if [ -d "$i" ]; then i="${i%/*}"; f="${i##*/"; p="${i%/*}" [[ "$f" = "$p" ]] && p="." [[ $f == *.fpbf ]] && n="${f%.fpbf}" || n="$f.fpbf" mv -v "$i" "$p/$n" fi; 完了 このスクリプトが具体的に何をするのかを説明するのは、このコラムの範囲をはるかに超えています(ましてや私の知識の範囲を超えています)。しかし、ここで概要を説明します。基本的に、このスクリプトはFinderの選択範囲を参照し、選択されたフォルダが現在書き込み可能かどうかを判断します。現在の状態に関係なく、スクリプトはそれらの設定を反転します。つまり、書き込み可能は書き込み不可に、書き込み不可は書き込み可能になります。スクリプトの設定がすべて完了したら、ワークフローは完了です。以下の画像のようになります。作業領域を表示するためのスペースを広くするため、「ライブラリ」列と「アクション」列は非表示にしていますが、スクリプト全体はスクリーンショットに表示されていません。この領域はサイズ変更できないためです。上記のコードと一致するように記述すれば、設定は完了です。

ワークフローをテストするには、以下の手順に従ってください 。実際のフォルダで使用する前に、正しく動作することを確認する必要があります 。Automator を開いたまま、Finder に切り替えます。新しいフォルダを作成し、クリックして選択されていることを確認します。次に、Automator アクションに戻り、「実行」ボタンをクリックします。ワークフローが完了すると、「シューッ」という短い音が鳴り、ウィンドウの右下隅に「ワークフローの実行が完了しました」と表示されます。Finder に戻り、作成したフォルダを確認します。フォルダには Burn アイコンが表示されています。もう一度選択し、Automator に戻ってワークフローを再度実行します。今度は、Finder に戻ると、テストフォルダが正常に戻っているはずです。そうでない場合は、シェルスクリプトのステップに問題があります。上記のコードと比較し、2 つが同一であることを確認してください。
テストフォルダですべてがうまく動作したと仮定すると、ワークフローを使いやすいコンテキストメニュー項目として作成する準備が整いました。Automatorに戻り、「ファイル」→「プラグインとして保存」を選択します。「プラグインとして保存」ボックスで、新しいワークフローに「Toggle Burnable」や「Toggle Burn Folder」など、分かりやすい名前を付けます。「プラグイン用」ポップアップが「Finder」になっていることを確認し、「保存」をクリックします。
おめでとうございます!任意のフォルダの書き込み可能状態を切り替えるFinderプラグインが作成できました!新しいアクションを使うには、Finderで任意のフォルダ(複数可)をクリックし、Controlキーを押しながらクリックして「Automator:書き込み可能切り替え」(またはワークフローに付けた名前)を選択します。さあ、あっという間に書き込み可能なフォルダが完成です。CD-Rに書き込み後、この手順を繰り返すと、フォルダは元に戻ります。Automatorってすごく便利だって、もう言ったでしょ?