Sound Juicerの作るファイルをリネームする

 Sound JuicerとかRhythem BoxとかでCDをリッピングすると「01 - So What.flac」のようなファイル名になってしまう。スペースやハイフンなしに「01So What.flac」というようなファイル名にしたいのだが、リッピング時は指定できない。そこでこんなphpスクリプトで解決。

#!/usr/bin/php
<?php
foreach(glob("*.flac") as $filename) {
    if(ereg("([0-9][0-9]) \- (.*\.flac)",$filename,$temp)){
         $newfilename = $temp[1].$temp[2];
         rename($filename,$newfilename);
    }
}

 ファイル名が「renameflac.php」の場合、ファイルのあるディレクトリに移ってターミナルから「php renameflac.php」として実行。実行属性をつけると「renameflac.php」だけで実行可能。さらにそのファイルに「renameflac」からシンボリックリンクを張ると「renameflac」だけで実行可能。気分はUNIX使い。

 geanyでphpファイルを編集していると、関数の引数を教えてくれて、かなり便利。たとえばeregで「正規表現と探す対象の文字列とどっちが先やったかいな」とか迷うこともなくなる。