MacOS: Automator で大量のファイル名を一括変更

先日、タイマー録音したラジオ番組をスクリプトを使って Podcast に変換していると書きましたが、スクリプトで変換する前にファイル名を変更する必要がありました。その作業に Automator を初めて使用したのでそのメモを残すことにします。

Automator は、MacOS X に含まれている機能で、人間が繰り返し手で行う手順をプログラムで行えるようにしたり、手順を一度記録すれば以後の同じ操作はプログラムが行ってくれるようにする、マクロツールです。以前から、使ってみたいと思っていましたがきっかけが無く、Automator の名前を聞いてから数年が経過してしまいました。

夢★夢エンジン 録音ファイル名

夢★夢 Engine ! 録音ファイルのサンプル

さて、私は Windows用の Radika を使ってタイマー録音していますので、録音ファイルは上の一覧のように、「夢★夢 Engine ! YYYY_MM_DD(日).mp3」や「夢★夢 Engine ! YYYY_MM_DD(日).m4a」のような日本語混じりのファイル名で保存されています。(ネーミングルールは radika で変更可能です。)

このファイルをWebサーバーにそのまま転送してしまうと、Unixサーバー上のスクリプトでは、このような日本語混じりのファイル名をそのまま処理するようなプログラムは書きにくい。
なので、「YUME_YYYYMMDDhhmmss.mp3」のようなプログラム処理が簡単になるように、あらかじめファイル名を変更した後、Webサーバーにアップロードします。

規則性があるファイル名なので、「夢★夢 Engine ! YYYY_MM_DD(日).mp3」を 「YUME_YYYYMMDDhhmmss.mp3」に変更するのは簡単そうに思えるのですが、Unix や Windows上ではコマンド一発で実現する方法は準備されておらず、1) ファイル毎に手作業で修正するか、2) ファイル一覧をテキストファイルにキャプチャーし、それを元にコマンドファイルを作って実行する方法しか思いつきません。ファイルの数が5,6個なら手作業もいいのですが、それ以上になると正確性を確保するためにコマンドファイルを作る必要があります。

今回のファイル名を見てみると、

  1. 「夢★夢 Engine ! 」→「YUME_」に置き換え
  2. アンダースコア _ を消去
  3. (日) →「hhmmss」に置き換え

という操作を行う必要があります。

Web検索でヒントを掴んで、Automator を実際に使ってみました。
思ったより簡単。

Automator でファイル名を一括変更

上図のフローを作り、これをアプリケーション yume2.app として保存。(または、最初からアプリケーションとして作成する。)

その後、名前変更したいファイルを掴んで、yume2.app に重ねるとあっという間にファイル名が変更されました。下図が変換後のファイル名一覧。(録音したファイル名のバリエーションにより、スクリプト通りにはなっていませんが。)

Autometor によるファイル変換後

このファイルをftpでWebサーバーにアップロードしました。
初めて使いましたが、これは便利。ファイル数が5つ以下でも、(ファイル名のフォーマットによっては)Automator を使う方が安全に思えます。

ファイル名の一括変更は Automator で出来ることのごく一部で、名前変更についてもシリアル番号を付けるなどの他の機能もあり、さらにメールアプリや、写真アプリでの自動化などもサポートしているようです。私はまだ使ったことがないのでどんなことが出来るのか詳しくはわかりませんが、手間が掛かると感じた時は Automator に置き換えられないか検討してみるのが良さそうです。

コメントを残す