[kz] Automatorでフォルダ内のファイル名をフォルダ名を使ったファイル名に一括変更する

[kz] Automatorでフォルダ内のファイル名をフォルダ名を使ったファイル名に一括変更する

こんにちは、kzscapeです。

ブログの投稿に差し込んでいた写真などをFlickrに保存していたばかりに、Flickrのサービス内容変更に伴って、過去の写真をなくしてしまった反省から、イメージファイルの名前はブログの投稿と関連したファイル名に統一した方が、何事かが起こったときに対処しやすいと考えて、ファイル名はパーマリンク名に連番をつけた名前にしていこうと考えました。

ただ、いちいち手作業でファイル名を変更するのも面倒なので、Mac OSに標準で用意されているAutomatorを使って、一連のいつもの動作を自動化することにしました。

やりたいこと

やりたいことは以下のような感じ。

手作業でやるのは、パーマリンク名と同じ名前のフォルダに、ブログの投稿内容に沿った「001」から始まる連番のイメージファイルを保存していくこと。

その後は、「フォルダ名」+「もともとの連番のファイル名」でファイル名を一括変更するAutomatorのアプリケーションに頑張ってもらおうという作戦。

作ったAutomator

どんなAutomatorを作ったかを順に書いていきます。

まず、今回作るAutomatorはApplicationにしました。

アクションを作っていきますが、最初はAsk for Finder Itemsで、対象のフォルダを選択するアクションを追加します。取得するタイプはFoldersにします。

次にSet Value of Variableで取得できたフォルダのパスを変数に保存します。

取得できたフォルダのパスは絶対パスなので、フォルダ名だけを取得するためにRun Shell Script/usr/bin/basename “$1”のシェルを動かします。

Set Value of Variableで取り出したフォルダ名を変数に保存しておきます。

もう一度、Get Value of Variableを使ってフォルダの絶対パスが保存されている変数を呼び出します。前のアクションとの連動が必要ないので、インプットを無視します。

フォルダの絶対パスをもとに、Get Folder Contentsを使って、フォルダ内のコンテンツを取得します。

Rename Finder Itemsを使って、フォルダ内のファイルのリネームをします。
リネームの方法はAdd Text。フォルダ名を保存しておいた変数を使って、もともとのファイル名の前にフォルダ名を追加します。

できあがりの動き

できたAutomatorを動かした動画です。

二回実行すると、二回分フォルダ名がファイル名にくっついちゃいますが、自分用ですから、まぁ、許してください。。。

何かの参考になれば!
ではっ!