私はシステムが生成したファイル名を持っている回復されたmp3ファイルの束を持っています。ファイルに埋め込まれたID3タグ情報を使用して、それぞれの名前を人間が読める形式に変更します。
私はDebianのaptレポジトリから 'mp3rename'を試しましたが、id3タグ付けなしのmp3ファイルを自動的に処理しません。実行可能な代替案はありますか?
私はシステムが生成したファイル名を持っている回復されたmp3ファイルの束を持っています。ファイルに埋め込まれたID3タグ情報を使用して、それぞれの名前を人間が読める形式に変更します。
私はDebianのaptレポジトリから 'mp3rename'を試しましたが、id3タグ付けなしのmp3ファイルを自動的に処理しません。実行可能な代替案はありますか?
回答:
Perlが好きなら、タグをつかむ簡単な方法はこれです:
#!/usr/bin/env perl
use File::Find;
use MP3::Tag;
use Cwd;
$dir = ".";
open(OUTFILE,">tags.txt") || die "Can't open: $!\n";
print OUTFILE 'Output for "'.getcwd().'"'." and subdirectories\n";
print OUTFILE "Path;Artist;Title;Track;Album;Year;Genre;File Size\n";
find(\&edits, $dir);
close(OUTFILE);
print "Done\n";
sub edits()
{
$fn=$_;
$not_shown=1;
if ( -f and $fn=~m/.+\.mp3$/ig)
{
$mp3 = MP3::Tag->new($fn);
($title, $track, $artist, $album, $comment, $year, $genre) = $mp3->autoinfo();
$fs= -s $fn;
print OUTFILE "$File::Find::name\\$fn;$artist;$title;$track;$album;$year;$genre;$fs\n";
}
if ( -f and $fn=~m/.+\.wav$|\.m4a$/ig)
{
$fs= -s $fn;
print OUTFILE "$File::Find::name\\$fn;;;;;;;$fs\n";
}
}
そこから、ちょっとしたスクリプティング、そしてあなたはあなたが望むものを手に入れました。
これはコマンドラインではありませんが、EasyTagは私がいつも使ってきたものです。それは私がファイルにもカバーとCDアートワークを追加することを可能にします。
見て exiftool
より具体的には、 改名例 。
MP3ファイルだけに限定されていません。