Finder でファイルを選択して、そのフルパスをクリップボードにコピーしたいことがよくある。macOS 標準の Automator を使えば、右クリックメニューからワンクリックでコピーできるようになる。
Spotlight(⌘ + Space)で「Automator」と入力して起動する。
「新規書類」→「クイックアクション」を選択する。
左側のアクション一覧から「シェルスクリプトを実行」(Run Shell Script) をダブルクリックし、以下のように設定する。
export LANG=ja_JP.UTF-8
for f in "$@"
do
echo -n "$f" | pbcopy
done
注意: export LANG=ja_JP.UTF-8 がないと日本語ファイル名が文字化けする。Automator のシェル環境はデフォルトでロケール設定が効いていないため、明示的に指定する必要がある。
⌘ + S で保存する。名前は「ファイルのフルパスをコピー」などにする。
ワークフローは ~/Library/Services/ に .workflow ファイルとして保存される。
Finder でファイルを選択 → 右クリック → 「クイックアクション」の中に表示される。
※ macOS Monterey 以降では「サービス」メニューは「クイックアクション」に統合されている。
killall Finderスクリプトを以下に変更する:
export LANG=ja_JP.UTF-8
printf '%s\n' "$@" | pbcopy
これで複数ファイルを選択した場合、各ファイルのパスが改行区切りでクリップボードにコピーされる。