Finderって使いにくい!
Finderの地味に使いにくいポイントとしてファイルを新しく作れないが挙げられると思います。
Windowsだと新規作成でパッと作れるんですが...
今回はWindowsとほぼ同じ手軽さでFinderで新規ファイルを作れるようにしてみました。
使うもの
- ショートカット
- Apple Script (コピペでOK)
完成系
Finderで右クリックするとアクションを起動できます。
ショートカットの仕様上、既存のファイルに右クリックしないとクイックアクションを呼べません(悲しい)

起動すると、テキスト入力欄が出ます。
ここにファイル名を入力すると、現在のパスにファイルが作成されますし、"/"で区切るとフォルダまで作ってくれます。
"."から始まるファイルでも作成できます。
手順
ショートカットの作成
新しいショートカットを作成します。
右上のℹ️マークからクイックアクションとして使用とFinderにチェックを入れてください。
AppleScriptを実行
次に、検索のところでAppleScriptを実行を検索し、追加してください。
そして、以下のコードをコピペしてください。
ペーストすると紫色になると思いますが、🔨ボタンを押すと文法のチェックがされます。
on run {input, parameters}
tell application "Finder"
activate
try
-- 現在のウィンドウのターゲットを取得
set currentTarget to (target of front window) as alias
set currentPath to POSIX path of currentTarget
on error
-- ウィンドウがない場合はデスクトップ
set currentPath to POSIX path of (path to desktop)
end try
-- 入力ダイアログを表示
set userInput to text returned of (display dialog "作成するファイル名を入力してください" default answer "" with title "新規ファイル作成" with icon note)
end tell
if currentPath ends with "/" then
set fullPath to currentPath & userInput
else
set fullPath to currentPath & "/" & userInput
end if
-- 結合されたフルパスを返す
return fullPath
end run
こんな感じになればOKです。
シェルスクリプトを実行
次に、検索のところでシェルスクリプトを実行を検索し、追加してください。
そして、以下のコードをコピペしてください。
シェルはzsh
入力はAppleScript実行結果(入力するとサジェストが出てきます)
入力を渡す方法は引数
としてください。
export LANG=ja_JP.UTF-8
TARGET_PATH="$1"
if [[ "$TARGET_PATH" == */ ]]; then
# 末尾がスラッシュ
mkdir -p "$TARGET_PATH"
else
# 末尾がスラッシュ以外
DIR_PATH=$(dirname "$TARGET_PATH")
if [ ! -d "$DIR_PATH" ]; then
mkdir -p "$DIR_PATH"
fi
touch "$TARGET_PATH"
fi
こんな感じになればOKです。
これができたらFinderでクイックアクションが呼び出せます!
AppleScriptだとできることが少ないですが、ショートカットからシェルコマンドも実行できると色々できそうです!(Pythonも実行できるっぽい)
ファイルの上で右クリックしないと表示されないのが少し不便ですが...





