Finderでファイルを複数選択してコピーした後、txtファイルを開いてペーストするとフルパスでファイル名が保存出来ます。 しかし、ファイル名だけにするには、ディレクトリ部分を消す必要があります。 この作業を効率化するため、Macのショートカットアプリで自動化してみました。
なお、このショートカットは「シェルスクリプトを実行 (bash script)」アクションのみで構成しています。
Apple公式ショートカット ユーザガイド
URL:https://support.apple.com/ja-jp/guide/shortcuts-mac/apd5ba077760/mac
macOS Montereyから導入されたショートカットアプリは、ユーザーがカスタム ワークフローを作成し、Mac 上のさまざまなタスクを自動化できる強力な自動化ツールです。
ショートカットの仕様(ステップ)
仕様
- ショートカットのタイトル名:『ファイル名のtxt File化』
- file name のオプション形式(【フルパス】【ファイル名】【Playリスト】)を選択リストから選択
【フルパス】はフルパスでファイル名をテキストとして保存
【ファイル名】はディレクトリを除いたファイル名をテキストとして保存
【Playリスト】は、ファイル名が挿入されたPlayリスト用の li タグ をテキストとして保存 - ファイル選択:Finderダイアログにより、ファイルを選択(複数)
- 自動的に、選択された【オプション】形式で保存された「filenames.txt」がデスクトップに出力される。
「ファイル名をtxtファイルに保存する」自動化プログラムについて
「ファイル名をtxtファイルに保存する」自動化プログラムは、下に示す、bash Scriptコードで作成しました。 mi等のテキストエディタで、このbash Scriptコードをコピペした後、拡張子を .sh に変更(例えば、fileNames.sh 等)してターミナルから以下のコマンドコードを入力すれば、自動化プログラムが実行できます。
command bash "fileNames.sh"
一々ターミナルを立ち上げコマンドを打ち込むのは面倒ですので、Macショートカットアプリを利用して、下で説明する作成したショートカットをクリックすれば、一発で自動化プログラムが実行できるようになります。
『ファイル名のtxt File化』ショートカットの作成
基本的なガイドは下のカスタムショートカットを作成するのURLリンクをクリックして参照してください。
Apple公式Macでカスタムショートカットを作成する
URL:https://support.apple.com/ja-jp/guide/shortcuts-mac/apd5ba077760/ma
Step
1 ショートカット作成の事前準備
- Macのショートカットアプリを開き ファイル > 新規ショートカット を選択します。 空の名称未設定ショートカットがショートカットエディタに表示されます。
- 「ショートカット名」をクリックしてから、ショートカットの名前を入力します。 名前を「ファイル名のtxt File化」にしました。
- 右のサイドバーからカテゴリ「スクリプティング」を選択し、表示されるリストで「シェルスクリプトを実行」アクションをダブルクリックします。 ショートカットエディタにドラッグすることもできます。
Step
2 「シェルスクリプトを実行」アクションの入力欄にbash Scriptコードを貼り付ける
「シェルスクリプトを実行」に貼り付けるbash Scriptコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# 選択リストダイアログを表示してユーザーにオプションを選択させる selected_option=$(osascript <<EOF # 選択リストダイアログのアクティブ化(前面表示) tell application "System Events" activate set options to {"フルパス", "ファイル名", "Playリスト"} set selectedOption to choose from list options with prompt "file name 形式選択:" default items {"ファイル名"} with title "file names to txt File" if selectedOption is false then return "" else return selectedOption end if end tell EOF ) # ユーザーがキャンセルした場合はスクリプトを終了 if [ -z "$selected_option" ]; then #echo "No option selected. Exiting." osascript -e 'display alert "アプリを終了します"' exit fi # ファイル選択ダイアログを表示して複数の入力ファイルを選択 selected_files=$(osascript <<EOF # 日本語対応のfinderを表示させる(前面表示) tell application "System Events" activate set selectedFiles to choose file with prompt "ファイル選択(複数選択可能):" with multiple selections allowed set filePaths to "" repeat with aFile in selectedFiles set filePaths to filePaths & POSIX path of aFile & "\n" end repeat return filePaths end tell EOF ) # ユーザーがファイルを選択しなかった場合はスクリプトを終了 if [ -z "$selected_files" ]; then echo "No files selected. Exiting." osascript -e 'display alert "ファイル変換を終了します"' exit fi # 選択されたファイルを処理 # 環境変数IFSをバックアップ OLDIFS=$IFS # IFS(区切り文字)を設定して改行で分割 # IFSのデフォルトは、$' \t\n' でセットされている。 スペース、タグ、改行で区切られるので、改行'\n'のみ区切る様にしている IFS=$'\n' # 出力先のtxtファイル output_file="/Users/mitsu/Desktop/filenames.txt" # 既存の内容をクリアするために、空のファイルを作成 > "$output_file" for f in $selected_files;do # 選択されたオプションの条件処理 case $selected_option in "フルパス") echo "$f" >> "$output_file" ;; "ファイル名") file_name="$(basename "$f")" echo $file_name >> "$output_file" ;; "Playリスト") file_name="$(basename "$f")" echo '<li class="last"><a data-src="'"$file_name"'">'${file_name%.*}'</a></li>' >> "$output_file" ;; esac done #IFSを元に戻す IFS=$OLDIFS osascript -e 'display alert "選択したファイル名を抽出して デスクトップのfilenames.txt に保存しました。"' |
ーーーー
Step
3 ショートカットの動作確認
このショートカットの動作を確認するには、ショートカットエディタ右上部の[ ▶ ] をクリックします。
前述のショートカットの仕様(ステップ)通りに「filenames.txt」がデスクトップに出力されていればショートカットの完成です❗
ショートカットを単独で実行できる 実行ファイル(.app)化させるには
作成したショートカットは、Macのショートカットアプリから選択して起動するのは面倒です。 通常のアプリファイルの様にファインダーからダブルクリックして単独で実行できる様にアプリ化するには、
ショートカットを一旦、Dockに入れることで、単独で実行出来る「.app(アプリ)」にできます。 (下の手順参照)
簡単な手順(実行ファイル化)
- ショートカットを開いて、例えば、先ほど作成したショートカット「ファイル名のtxt File化」を右クリックして
- ファイル > Dockに追加 を選択
- Dockに入れた「ファイル名のtxt File化」を右クリックして、オプション > Finderに表示 を選択
- Finderに表示されたファイルを見ると、ファイル名のtxt File化.app になって、単独で実行できるアプリになります。
- Dockに追加された、ショートカットが不要なら、オプション > Dockから削除 します。
スポンサーリンク
『ファイル名のtxt File化』ショートカットのオプション別・実行結果を見る(参考)
ショートカットを実行して、ファイル選択ダイアログが表示された後、複数の入力ファイルを選択した画面です。 選択ボタンを押すと、【オプション】に従ったテキスト・データがデスクトップ上のfilenames.txtに出力されます。