[X] \\ to null conversion for mutiple folder selection

I searched for "null" in the forum and did not find a post relating to this problem:

If you choose a folder that has mutiple sub-folders and then make a global change (ctrl-a then alt-5) to add \\ to tags, when you subsequently select save (ctrl-s to convert the \\ to a null) only the first folder in your selection acquires the null. Following folders are left as \\.

I have only found this problem on the Genre tag since this is the only tag I am interested in having multiple entries separated by nulls.

+higher Folder (selected in mp3tag)
+-folder1 (genre tags get \\\\ changed to nulls)
+-folder2 (genre tags get saved with \\\\)
+-folder3 (genre tags get saved with \\\\)
+-foldern (genre tags get saved with \\\\)

If I then enter each and every sub folder (ctrl-d) select (ctrl-a) and choose save (ctrl-s). The null is entered correctly.

I would like to be able to do this in one step instead of having to go into each folder and save the tags.

I am using Foobar as my music player and it shows the multiple genre tags as entered, separated by nulls in mp3tag.


I forgot to add the [AF] in the topic. this forum will not let me alter the topic...

beebeeee, you did not say what actions do you run to set the multiple genre tag fields.

If I do something similar, will say, take a folder structure like you have layed it out, and use Extended Tag dialog, and set the GENRE tag field to the value "TEST1\\TEST2\\TEST3", then it works as expected. The result is: three separate GENRE tag fields, each set to one value from the given multi value string.

This works also using an action Format value, setting tag field GENRE to "TEST1\\TEST2\\TEST3".


My current collection is setup up for use in Media monkey.

All of my genre tags are set out as:


Media monkey recognises these as mutiple genres and puts them into it's database as:

genre1; genre2; genre 3; genre4

I added an acction group as follows:

Replace "GENRE": ";"->"\\"

  1. I now point mp3tag to the root of my test collection with ctrl-D

  2. I press alt-5 to open the action group and select my added replace command.

All of the genres are changed from




  1. I press ctrl-s to save the genre tag changes.

When I examine the tags in hexadecimal, only the first sub folder has the null character in the genre tag:


All following subfolders have:

genre1;0x3c;0x3c;genre2;0x3c;0x3c;genre3;0x3c;0x3c;genre4 in them.

The ; are value separators for clarity and are not written to the file

0x3c is the hexadecimal code for ""

So the \\ (0x3c0x3c) is not being translated to a null (00) in subsequent folders.

If you view the folders using MP3TAG all looks well because \\ is displayed for all cases.

I hope I made it clearer this time.

I did not use the extended tag dialog and see no reason to have to use that for genre tags.

I do not know anything about Media Monkey database behaviour and how Media Monkey can store multiple value tag field into a mp3 music file.

I know how Mp3tag can do this and I have explained a way to check how multiple value tag fields are created and displayed in Mp3tag. This way - looking at Mp3tag Extended Tag view - you should go once to make sure, that we speak about the same things.

You speak about a view of multiple value tagfield like "genre1; genre2; genre 3; genre4" in Media Monkey database (values separated by "semicolon space" sequences), but how looks the related hex view of those multi value tagfield in a mp3 file manipulated by Media Monkey?
I assume there is no such multi value tag field in the mp3 file and you want to create such multi value tag field by the help of Mp3tag.

If I take a mp3 file and create a new tagfield called "BEEBEE" and set the value to "genre1; genre2; genre3" (verified this via Extended Tags view), then run a "Format value" action against this file using the formatstring "$replace('; ','\\')", afterwards I can see in the Extended Tags view that there are now three tag fields in the file with the same name "BEEBEE", each entry carrying one value "genre1" and "genre2" and "genre3".

So the conversion from a "linear literal string based multi value tag field" into a "sequence of single value tag fields with the same name" works for me and I am lucky that Mp3tag can do this in such an easy way.

You talk about subfolders, I do not understand what you mean by subfolders in this case, and how a folder structure with subfolders get to be involved when replacing the content of a tag field in a file.

Because I do not know anything about the Media Monkey external database, I will step out of this thread. Good luck anyway!


I simply mentioned media monkey to explain where I am coming from ( ; separated genres). The ; is not translated to anything when written to the mp3.

I thought it was necessary to point out that my entire collection has genres with a ; in them which allows me to replace my entire collection (about 1000 songs) with one replace command.

I copied my 1,000 mp3 files to a test hdd, these were in approximately 50 folders beneath a folder called test.

The replace commanded did change all of the 1,000 ; to \\

Ony the first album (folder) ended up with 00 separators.

The following 49 folders had \\ in the genre.

You cannot test this with MP3TAG alone. You need to use a second application that recognises nulls. In my case I am using FooBar. My use of Mp3Tag is purelty to format the tags for use in Foobar.

It seems I cannot explain sufficiently for you to understand.

I have now gone through each of the 50 folders one at a time and the job is done.

Thankyou for replying... We had a good chat anyway!

I did another test and got the same result, simply to say ... splitting a textual multi value tag field into a hex 00 separated multi value tag field sequence. ... works for me.

1. Preparing the test.

Each file contains one tag field GENRE, which contains a string of three genre values separated by a "semicolon space" sequence.

¦ F1.mp3 contains one tag field GENRE: "G1; G2; G3"
¦ F2.mp3 contains one tag field GENRE: "G1; G2; G3"

¦ F7.mp3 contains one tag field GENRE: "G1; G2; G3"

    F8.mp3   contains one tag field GENRE: "G1; G2; G3"
  1. Do the replacement.

Run action against all files:
Action "Format value"
$replace(%GENRE%,'; ','\\')

  1. Check the result.

Now each file contains the tag field GENRE three times, each tag field contains a single genre value.
The tag fields are separated by a hex 00 character (view in Hex-Editor).

Mp3tag displays such tag fields in dialog "Extended Tags" as three tag fields with the same name, each tag field name entry with a single genre value.

¦ F1.mp3 GENRE: "G1", GENRE: "G2", GENRE: "G3" Tag fields separated by 0.
¦ F2.mp3 GENRE: "G1", GENRE: "G2", GENRE: "G3" Tag fields separated by 0.

¦ F7.mp3 GENRE: "G1", GENRE: "G2", GENRE: "G3" Tag fields separated by 0.

    F8.mp3   GENRE: "G1", GENRE: "G2",  GENRE: "G3"   Tag fields separated by 0.

What works with one folder respectively in this example with eight folders, that should work also with fifty or a million of folders.

If this does not working for you, then there might be something unusual going on in your environment.
Take care about having always identical "semicolon space" separator sequence.
Check your work procedure, the replacement step, the Mp3tag action and so on.
Good luck!


I want to add that the example from above of course will also work with a separator value of ";" (single semicolon).

It is a bit of pity that no further feedback has been received by the open poster beebeeee yet.
So we do not know what has been going on with Mp3tag and the folders and the files and the GENRE tag fields and so on.


Alright, I'll set up another set of folders and try it again.. Most likely something is going wrong of myown doing. I'll let you know how it goes.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.