Path Finderの「Finderで開く」が機能しないので、Keyboard Maestroで代替用マクロを作成する

Path Finderには、選択したファイルやフォルダを「Finderで開く」機能が存在します。
しかし、この機能が定期的に動作しなくなります。
一応Path Finderをインストールし直して、下記のターミナルコマンドを実行すると一時的に治りますが、効果がない場合もあったり、治ってもいつの間にかまた機能しなくなったり…
$ xattr /Applications/"Path Finder.app"というわけで、Keyboard Maestroで「Path Finderで選択中のファイルをFinderで開いてくれるマクロ」を作成しました。
Keyboard MaestroやPath Finderについてそもそも知らない方は、どちらも過去に記事にしているのでそちらをご覧ください。
マクロの全体像
やっていることは下記の通りです。
- Path Finderで選択中ファイルのパスをコピーする
- Finderに切り替えてパスをペーストして移動
- 選択していたのがフォルダだった場合は1つ上の階層に戻る

今回のマクロはこちらからダウンロード可能です。
ぜひ使ってみたり、自由にカスタマイズしてみてください。
ここからはマクロの流れがどのようになっているかの解説です。
1. Path Finderで選択中ファイルのパスをコピーする
まずはPath Finderで選択中ファイルのパスをコピーします。
メニューの[編集]→[パスをコピー]→[UNIX]でパスのコピーができるので、「Select or Show a Menu Item」アクションでメニューを選択します。
![[編集]→[パスをコピー]→[UNIX]](https://webrandum.net/mskz/wp-content/uploads/2021/03/image_3-4-e1616078718539.png)
ちなみに、Path Finderでは色んな形式でパスのコピーができます。
[UNIX]以外の選択肢だと、どのような形式でコピーできるのか知りたい場合は、過去にまとめているのでそちらの記事をご覧ください。
これで、クリップボードに選択中ファイルのパスがコピーできました。
2. Finderに切り替えてパスをペーストして移動
次に「Activate a Specific Application」アクションを使って、Finderをアクティブにします。
その後すぐに次の動作が始まってしまうと、動作が追いつかなくなってしまう可能性があるので、「Pause Until」アクションで、Finderがアクティブになるまで待ってあげます。
Finderがアクティブになったら、今度はFinderの[移動]→[フォルダへ移動…]メニューを選択させます。
![[移動]→[フォルダへ移動...]](https://webrandum.net/mskz/wp-content/uploads/2021/03/image_4-4.png)
するとパスを入力してフォルダ移動ができる画面が出てくるので、ここに先ほどコピーしたパスをペーストし、enter(return)で確定します。
これでフォルダ移動ができました。
パスをコピーで[ターミナル]ではなく[UNIX]を使う理由
余談ですが、[パスをコピー]にある選択肢の中で[UNIX]と非常によく似た形式でコピーできるのが[ターミナル]です。
[ターミナル]を選択した場合は、ほとんど[UNIX]と変わりませんが、フォルダやファイル名に半角スペースが付いていた場合に、その前に「\(バックスラッシュ)」が入るようになります。
// ↓[UNIX]の場合
/Users/saitomasakazu/Dropbox/サンプル フォルダ
// ↓[ターミナル]の場合
/Users/saitomasakazu/Dropbox/サンプル\ フォルダこれは、ターミナルでパスを入力するときに半角スペースが入っているとそこでパスの認識が途切れてしまうため、エスケープ目的で入ります。
しかし、逆にFinderの[フォルダへ移動…]で入力するパスでは、Finder上のフォルダ名と完全一致している必要があります。
バックスラッシュが入っていると、完全一致と認識されないため、ここでは[ターミナル]ではなく[UNIX]を使っています。
3. 選択していたのがフォルダだった場合は1つ上の階層に戻る
最後は好みによってしてもしなくてもどちらでもいいのですが、フォルダを選択していた場合の挙動に関してです。
Finderの[フォルダへ移動…]で入力するパスの最後がフォルダだった場合、そのフォルダが開いた状態で表示されます。
このままでは、Path Finderを選択した状態で実行すると、Finderではそのフォルダが開いた状態で表示されてしまいます。
そのため、「If Then Else」アクションでクリップボードの中身に「.(ピリオド)」が入っていなかったらフォルダを選択すると判定し、その場合は1つ上の階層に戻るようにしています。
最後に「Delete Past Clipboard」で、クリップボードにコピーしたパスを削除して完了です。



Macで毎回使うアプリやフォルダを一気に開いて、すばやく作業環境を整えられる「Workspaces」
Dropboxの「Macをバックアップ」機能でデスクトップや書類フォルダを同期する
Macのダイアログを強化するDefault Folder Xの使い方
Path Finderの見た目を最低限整えるための設定
Haptic Touch Barでタッチバーを押した時のフィードバックを追加する
AlfredのWorkflowで新規ファイルを作成する方法
Hazelを使って、ファイルダウンロードのタイミングでDownloadフォルダを自動で開くようにする
MagicPrefsを使ってMagic Mouseのカスタマイズを行う
Webサイト全体をキャプチャするならFull Page Screen Captureがおすすめ
サイト上のSVG画像を簡単に保存できるChrome拡張機能「svg-grabber」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Local by Flywheelのページ遷移を軽くする設定
GoogleアナリティクスとGoogleアドセンスを連携して、細かいデータを見る方法
macOSのシステム環境設定「ユーザとグループ」の設定見直し
売れるウェブサイトは戦略を映している【CSS Nite in Kobe】
Sketchのレイヤー周りの基本操作|グループ化やマスク、オブジェクトのロックや表示切り替えなどのレイヤーでできること
M1 MacのHomebrewでのインストール時に「Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!」エラーが出る場合の解決法
1Passwordで素早くパスワードを入力するためのショートカットキー
Google日本語入力のサジェスト(変換候補)の選択方法
Alfred 4のAppearance Optionsから外観の設定を行う