Skip to content

Instantly share code, notes, and snippets.

@koki-h
Created April 27, 2025 03:01
Show Gist options
  • Select an option

  • Save koki-h/fdfd89b548e6bfd84f87c28bc7ab43fd to your computer and use it in GitHub Desktop.

Select an option

Save koki-h/fdfd89b548e6bfd84f87c28bc7ab43fd to your computer and use it in GitHub Desktop.
Finderで選択したファイルを右クリックして「.JPG/.jpgだけを選択し直す」

📄 Finderで選択したファイルから「.JPG/.jpgだけを選択し直す」クイックアクション作成手順まとめ


【目的】

  • Finderで複数ファイルを選択
  • その中から「拡張子が.jpgまたは.JPG」のファイルだけを自動的に選択状態にする

【完成イメージ】

操作 結果
Finderでファイル複数選択 → クイックアクション実行 .jpg.JPGだけが選択状態に

【使用するツール】

  • Automator(クイックアクション作成用)
  • シェルスクリプト(拡張子でフィルタ)
  • AppleScript(Finder操作用)

【作成手順】

① Automatorで新規「クイックアクション」を作成

  • 「ワークフローが受け取る現在の項目」→「ファイルまたはフォルダ」
  • 「アプリケーション」→「Finder」

② 「シェルスクリプトを実行」アクションを追加

  • シェル/bin/bash または /bin/zsh
  • 引数の渡し方引数として
  • スクリプト内容:
# JPGファイルだけを標準出力に出す
for f in "$@"; do
  if echo "$f" | grep -i '\.jpg$' >/dev/null; then
    echo "$f"
  fi
done

③ 「AppleScriptを実行」アクションを追加

  • スクリプト内容:
on run {input, parameters}
	set fileList to {}
	repeat with aPath in input
		try
			set posixFile to POSIX file aPath
			set theAlias to posixFile as alias
			set end of fileList to theAlias
		on error
			-- 変換できないものは無視
		end try
	end repeat
	
	tell application "Finder"
		if fileList is not {} then
			select fileList
		end if
	end tell
	
	return input
end run

④ 保存する

  • 名前例:「選択をJPGだけにする」
  • これで右クリック → クイックアクションに表示される

【使い方】

  1. SDカード等で適当なファイル群をFinderで複数選択
  2. 右クリック → クイックアクション → 「選択をJPGだけにする」を実行
  3. .JPG / .jpgファイルだけ選択される

【補足メモ】

  • .jpegも対象にしたい場合はシェルスクリプトのgrepを修正すればOK
  • シェルとAppleScriptを分担させることで、エラー(Automatorエラー-212)を完全回避
  • 外部ストレージ(SDカードなど)でも安定動作する設計

✨ 特に大事な工夫ポイント

  • Finder選択項目を直接触らない(一度文字列で処理してから再選択)
  • POSIXパス → alias変換時にエラーをトラップ(try-catch方式)
  • 必要最低限のシンプル設計(無駄なフィルタや余計な処理なし)

🎉 総まとめ

今回作ったクイックアクションは
✅ Finderで手動で選んだファイルをスマートに整理できる
✅ シンプルかつ確実に動作する
✅ 今後の応用(拡張子追加・自動アップロード連携など)も可能

とても実用的なツールになっています!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment