With about 11,000 MP3 files, I need to keep them organized – making sure the metadata is correct and arranging them into a logical folder structure. My first problem was that I had a single folder with hundreds of MP3s files that I purchased from Amazon but I wanted them all to be placed into folders depending on the Album Artist.
Below is the IronPython code I used to get this done. It isn’t particularly robust, but it did the job for me in just a few seconds.
import os import sys import clr import System clr.AddReferenceToFileAndPath(r"taglibsharp\taglib-sharp.dll") import TagLib folder = r"X:\music" files= System.IO.Directory.GetFiles( folder, "*mp3" ) def fixname(s) : s = s.replace("\"","-") return s for f in files : print f with TagLib.File.Create(f) as tagfile: artists = tagfile.Tag.AlbumArtists if (len(artists)<1) : continue artist=artists print artist artist_folder = System.IO.Path.Combine(folder, fixname(artist) ) if (not System.IO.Directory.Exists(artist_folder)) : System.IO.Directory.CreateDirectory(artist_folder) dest_filename = System.IO.Path.Combine(artist_folder, System.IO.Path.GetFileName(f)) print dest_filename System.IO.File.Move( f, dest_filename )