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」で、クリップボードにコピーしたパスを削除して完了です。



コーディング初心者が入力ミスを減らすためにできる設定
Path Finderでタブセットを使うと、よく使うフォルダ一式を一気に開けるようになる!
Karabiner-Elementsを使って、Finder上でReturnを押すとファイルを開くようにする
Karabiner-Elementsを使ってright_command + h/j/k/lで矢印の入力ができるようにする
Path Finder 8の「パスのコピー」の種類とその違いについて
Finderで選択したフォルダをVisual Studio Codeで開くAlfred Workflowの作り方
Alfred 4のカスタム検索を設定をしてサイト内検索をしたり、ブラウザのブックマーク検索を行う方法
Macのエイリアスとシンボリックリンクの違いや作成方法
Apple Watchでスクリーンショットを撮る方法
タッチバーをタッチしないようにするという向き合い方
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法