やりたいこと
finderで普段実行していることを右クリックで一発で実行します。今回はスクリプトをAutomatorに噛ませることで実現します。実現内容は写真のjpg以外のファイル(rawファイル等)をサブフォルダに格納します。
Scriptの準備
本筋でないので割愛します。引数で受け取ったフォルダ配下のarw,dngをrawフォルダ配下に、MTS,mp4ファイルをmovie配下に移動するスクリプトです。フォルダがなければ自動作成します。
#!/bin/bash
folderPath=$@
checkFiles=(
"*.ARW,raw"
"*.dng,raw"
"*.MTS,movie"
"*.mp4,movie"
)
for checkFile in "${checkFiles[@]}"
do
IFS=',' read -r fileExtension folderName <<< "$checkFile"
FilePath=${folderPath}/${fileExtension}
if ls ${FilePath} > /dev/null 2>&1
then
moveFolder=${folderPath}/${folderName}
if [ ! -e $moveFolder ]; then
mkdir ${moveFolder}
fi
mv ${FilePath} ${moveFolder}
fi
done
Automatorへの登録
「アプリケーション」から「Automator」を起動し、「クイックアクション」で「選択」をクリックします。

左タブの「ユーティリティ」内の「シェルスクリプトを実行」を右のワークフローにドラッグ&ドロップ
右タブで以下を選択
ワークフローが受け取る現在の項目:フォルダ
検索対象:Finder
シェル:/bin/bash
入力の引き渡し方法:引数として
シェルスクリプト実行欄:シェルの内容を入力

「Command+S」で保存します。その際にクイックアクション名を決定します。

実行方法
Finderでフォルダ名を選んだ時に、先ほどのクイックアクション名が表示されたら成功です。
クイックアクション名をクリックすると、スクリプトが実行されます。

お疲れ様でした。


コメント