You’ll need Perl, and Config::IniFiles.
A sample ini file so you can see how to set this up: welch_rawlings_shepherds_bush.ini.
At the moment, this just generates output that you’ll need to feed to sh, but it handles renaming, converting and tagging MP3s to my satisfaction.
Update: it doesn’t handle FLAC tags, even though they’d be a good source of metadata. I may look into implementing that some day.
If you do have a bunch of tagged FLAC files and are on OS X, Max — http://sbooth.org/Max/ — does the job too