2

最近、誤って 2TB のハード ドライブ mac os junaled をフォーマットしてしまいました。私は Data Rescue 3 でファイルを復元できました。唯一の問題は、プログラムがファイル、ルート ツリー、および名前をそのままにしてくれなかったことです。

たとえば、私が持っていた

|-Music
||-Enya
|||-Sonadora.mp3
|||-Now we are free.mp3
|-Documents
||-CV.doc
||-LetterToSomeone.doc
...and so on

そして今、私は得ました

|-MP3
||-M0001.mp3
||-M0002.mp3
|-DOCUMENTS
||-D0001.doc
||-D0002.doc

したがって、膨大な量のデータを手動で開き、それが何であるかを確認して名前を変更するには、何世紀もかかるでしょう。

すべてのサブフォルダーをスキャンして以前の名前を取得できるバッチはありますか? おそらくメタデータによって?

または、ファイルの同じ名前とパスを保持するより良いツールを知っていますか(支払う必要があるかどうかは関係ありません。常にそのための解決策があります:P)

ありがとうございました

4

1 に答える 1

4

少なくともあなたの音楽への私の貢献...

アイデアは、見つかったすべての MP3 ファイルを調べて、ID3 タグに基づいて配布することです。

私は次のようなことをします:

for i in `find /MP3 -type f -iname "*.mp3"`;
do
   ARTIST=`id3v2 -l $i | grep TPE1 | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # This gets you the Artist
   ALBUM=`id3v2 -l $i | grep TALB | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # This gets you the Album title
   TRACK_NUM=`id3v2 -l $i | grep TRCK | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # This gets the track ID/position, like "2/13"
   TR_TITLE=`id3v2 -l $i | grep TIT2 | cut -d":" -f2 | sed -e 's/^[[:space:]]*//'`; # Track title
   mkdir -p /MUSIC/$ARTIST/$ALBUM/;
   cp $i /MUSIC/$ARTIST/$ALBUM/$TRACK_NUM.$TR_TITLE.mp3
done

基本的に: * /MP3 内のすべての ".mp3" ファイルを探します * 次に、各ファイルの ID3 タグを分析し、"id3v2" ツールを使用してそれらを解析し、4 つの変数を埋めます (最初にインストールする必要があります)。タグはクリーンアップされ、値のみが取得されます。sed は、汚染する可能性のある先頭のスペースを削除するために使用されます。* 次に (必要に応じて) /MUSIC/ にアーティスト名とアルバム名を含むツリーを作成します * 次に、入力ファイルを新しいツリーにコピーし、タグのおかげで名前を変更します。

于 2013-07-29T14:17:02.843 に答える