MacのFinderで現在のアドレスを取得したい

スポンサーリンク
スポンサーリンク

概要

MacのFinder(Windowsでいうところのエクスプローラ)はWindowsの様に画面上部にアドレスバーがありません。以前はサードパーティー製のアプリで代替できましたが、更新が止まったため、対策を考えます。
macOS標準搭載の機能で対応してみました。

方針

  • Macのショートカット.appを利用します。
  • Finderで現在のパスをショートカットキーで取得できるようにします。
  • Finderがアクティブのときだけショートカットが機能するようにします。
  • Windowsのエクスプローラのようなアドレスバーを表示することは諦めます。

このコードを使います

on run {input, parameters}
    -- Finderが前面でない場合は何もしない
    tell application "Finder"
        if frontmost is false then
            return "Finder is not active. Clipboard unchanged."
        end if

        -- 最前面のFinderウィンドウのパスを取得
        if (count of Finder windows) > 0 then
            set currentFolder to target of front Finder window as alias
            set currentPath to POSIX path of currentFolder
        else
            set currentPath to POSIX path of (path to desktop folder)
        end if
    end tell

    -- 取得したパスをクリップボードへコピー
    set the clipboard to currentPath
    return currentPath
end run

ショートカット.appでの設定

ショートカット.appを起動

メニューから「ファイル」→「新規ショートカット」

右側のアクション一覧から「AppleScriptを実行」を選び、コードエディタを表示

上のコードを記載し、タイトルも「Finderのパスをコピー」に修正

設定は以下の通り

ここではショートカットを「Shift + Option + Command + C(⇧⌥⌘C)」に設定。

実際にやってみる

・Finderをアクティブにし、「Shift + Option + Command + C(⇧⌥⌘C)」でパスをコピー
・「Shift + Cmd + G(⇧⌘G)」で「フォルダへ移動」の窓を開く
・ペースト(Cmd+V)でコピーしたパスを貼り付ける(Returnで移動)

注釈

Shift + Command + G の「フォルダへ移動」は、現在開いているFinderウィンドウのパスを表示するものではありません。直前に使用した場所などが履歴として表示されるため、現在のFinderパス確認には使いにくいです。

コメント