Merge tags of several files into one

My idea:
I have multiple folders containing charts from various dates. This results in somtimes very many copys of the same title, using up much space (especially on portable devices) and messing up my libary. However the files contain (exept title and artist) different tags, such as the date (stored in a custom field). I'd like to merge all this data into one file, preferabilly keeping the one with the highest bitrate.

What I've done so far:

  1. Backup of all files.
  2. Renaming of same songs with different title/ artist in tags, so they can be automaticly compared
  3. Automaticly extracted all covers with matching name, selected the ones with highes quality by hand
  4. Started with the script...

Further thoughts:
My plan was to get a string with "$list($char(9),|,)" of each file, search for prefixes and seperators to slice the string appart, add the intormation to variables and join them in the end back together. I haven't worked on determing the "highest" quality yet, but I hope to be able to export the path of the files together with all tags as .txt. Based on this data I want to move the files into a seperate folder where mp3tag can add all metadata from the file.

The problem:
I use


a) find groups with the same title and artist (works)
b) inspect every file idividually (works as well)

However I can't find a solution to go through all tags. $loop executes a list of tasks only once per file, not once per tag as I'd need. Multiple loops after each other don't work for me, the amount of tags is indefinite. Also I'm not able to access any variables created before a loop starts (this issue is allready known, but I couln't find any solution), that limits possibilities for a workaround.

I'm out of ideas.
Any thoughts?

Edit: I've realy considered to do it just by hand, and I'd have done it for a few files, but not for 1200, plus additional 7000 files if I'd include earlier files as well.

There is a tool in a differnt forum area
that extracts all fields.

i would assume that you need an external application to do the cleaning up like a real database that can compare different records with each other.

This external application would then also show the gaps in the data.

Thanks for the quick reply!

I've just tried the tool, but it does barely more than I can do with a script, the only difference is that empty spaces ar exported as well. Till now I've only used mp3tag to manage all the data. Do you have any recommendations for a 3rd party program which would help me? It could also be something sricpt-based, I've no problem with that.

I thought, that you don't know which fields are in the various files. The export program should take care of that ...
Anyway: I have used Excel and/or Access to deal with CSV files. The xport leads to rather longish tables but you see all fields that might ever occur. So if you want to save data that is in a file that will get deleted in the process, it is rather easy to identify these.
Yet, if you create a column for each field that is important for you in Mp3tag, you would achieve the same. So perhaps I was a little bold to say that you need an external application.
With sorting and filtering you might get all the information you need in and with Mp3tag.

The advantage of Excel or Access could be that you can define extra columns that compare values from one line with the next so that it is easier to find where the points of interest would be ...

Hmm, it just seems like no matter which way I choose, the outcome won't be like I want it to be, or requires much manual work. But thanks for your support.

I think my best remaining option is to write a custom program to manage all the data. It will be time consuming to do so, but at least I can be sure I'll work after all.

mp3tag can still exract all the tags from the files, my program deletes the low quality files and merges the information which mp3tag should finally import. I'll see if that works out well, if so I'll publish it here. :slight_smile:

If anybody still got a good idea, please share it, this topic is not closed yet :wink: