FinderといえばOS Xの"顔"そのもの、ファイルブラウザという本来の役割を超えた存在だ。ここ数年はOS Xの歩みが緩やかになり、かつてほど抜本的な機能変更は見られなくなったものの、立ち止まることなくシステムのバージョンアップとともに姿を変えている。El Capitan時代のいま、Terminalからでしか行えないFinderの環境設定術をいくつか紹介しよう。

デフォルトで表示されるフォルダを手動設定する

Finderの環境設定パネルでは、新規Finderウインドウを開いたとき表示するフォルダを指定できる。初期設定では「マイファイル」だが、いまひとつ利用価値を見いだせないという場合には他のフォルダを指定したほうがいい。

この設定は、以下のとおりdefaultsコマンドを実行しても変更できる。Finderのプロパティリストにある「NewWindowTarget」と「NewWindowTarget」というエントリに適切な文字列を設定するのだが、工夫すればGUIでは設定困難な新規Finderウインドウを設けることができる。

$ defaults write com.apple.finder NewWindowTarget -string [表1の文字列]
$ defaults write com.apple.finder NewWindowTargetPath -string [表2の文字列]

たとえば、Finderの検索結果(スマートフォルダ)を表示したい場合には、以下の要領で検索クエリー(*.savedSearch)のフルパスを指定すればいい。ただし、Finderの初期設定に従いライブラリの「保存済みの検索条件」フォルダ(~/Library/Saved Search)へ保存した検索クエリーは、動作しないことがあるので利用は避けよう。筆者の環境では、「書類」フォルダに保存した検索クエリーの動作を確認している。

$ defaults write com.apple.finder NewWindowTarget -string "PfLo"
$ defaults write com.apple.finder NewWindowTargetPath -string "file:///Users/ユーザ名/△△△/○○○.savedSearch"

Finder環境設定の「新規Finderウインドウで次を表示」では、スマートフォルダなど特殊なフォルダを指定できない

defaultsコマンドで検索クエリー(*.savedSearch)を指定すれば、新規Finderウインドウにスマートフォルダを指定できる

NewWindowTargetの値
コンピュータ名 PfCm
ルート(起動ボリューム) PfVo
ホームフォルダ PfHm
デスクトップ PfDe
書類 PfDo
iCloud Drive PfID
マイファイル PfAf
その他 PfLo
NewWindowTargetPathの値
ルート(コンピュータ名) なし
起動ボリューム file:///
ホームフォルダ file:///Users/ユーザ名
デスクトップ file:///Users/ユーザ名/Desktop
書類 file:///Users/ユーザ名/Documents
iCloud Drive file:///Users/ユーザ名/Library/Mobile%20Documents/com~apple~CloudDocs/
マイファイル file:///System/Library/CoreServices/Finder.app/Contents/Resources/MyLibraries/myDocuments.cannedSearch

その他

選択したフォルダのフルパス

パス名コピーの使い分けが必要な理由

El CapitanのFinderには、新機能として「パス名をコピー」が追加された。Finderで対象のファイル/フォルダを選択し、Controlキーを押しながらクリック、現れたコンテキストメニューの中ほどにある「○○をコピー」をoptionキーながらクリックすると、「○○のパス名をコピー」として処理される。

これでファイルのフルパスをかんたんにコピーできるようになったが、1つ落とし穴がある。ファイル/フォルダの途中にスペースが含まれていても、なにもしてくれないのだ。スペースが含まれている場合、パスの前後をクオーテーションで囲まなければシェルは一連の文字列として解釈してくれず、コマンドラインやシェルスクリプトを実行するときのエラーにつながる。

一方、El Capitan以前からサポートされていたTerminalの「ファイルのドラッグ&ドロップでパスを表示する機能」は、パスに含まれるスペースはバックスラッシュを用いてエスケープ(無効化)してくれる。複数のスペースが含まれるファイル/フォルダのパスをコピーする場合は、Finderの「パス名をコピー」ではなく、Terminalにドラッグ&ドロップして表示されるパスを手動コピーしたほうが仕事は早いはずだ。必要に応じて使い分けよう。

El CapitanのFinderに「○○のパス名をコピー」が追加されたものの、パスに含まれるスペースはエスケープ処理されない

Terminalにファイル/フォルダをドラッグ&ドロップすると、スペースがエスケープ処理される