Volumed (multiple part) Compilation Folder Creation

What I do is I look at each ALBUM/FILE INDIVIDUALLY and apply the necessary action groups required. Some are missing the album cover, some the track numbers are messed up, some have weird characters substituted in and some have erroneous tags added...so I use the action drop down menu to choose which action to apply to the folders as necessary..this is one that I would like to apply.
To your personal note, I am note sure that you quite understand my final result that I am looking for...I am looking to create the sub folder for the Volume THAN removing that "folder name (Volume 182) from the parent file it is in so I can get my Various Artists folder (used for compilations as I do not break out tracks individually to Artist by compilation):

Cold Hands Seduction (Volume and number removed) - (Parent folder Collection grouping name only)
Volume 182 (Sub folder with dics and track folders underneath as required)
Volume 183 (Next Volume)
Volume 184 (Next Volume, etc as required)

It is not quite clear to me which dropdown menu you use: the "actions" or "actions (quick)".

Anyway: if you assemble an expression for each file or even all the files of a folder then I would like to point out that the functions from the Convert menu correspond to actions of various types
Filename-Tag = "Guess values"
Tag-Filename = "Format value" for _FILENAME which also creates new folder structures
Tag-Tag = "Format value" for a given field and also for _DIRECTORY to rename a folder and move all the files in it.

So if you have the requirement to use individual sets of data that is gathered with a lot of user interaction, then the Convert functions may suit you better as you get a preview and can also recycle already used expressions. This feature is not present in the dialogues to create or edit actions. Actions are excellent for routine jobs that have to be carried out the same way each time.

And just to expand my personal note a bit:
I still would not use a folder structure with (at least) 2 levels: as soon as you want to transfer one (or more) member(s) of that family of albums to another storage location, you would have to rename the folder again as "Volume 182" then would not reveal that is is actually part of that great colletion of "Cold Hands Seduction" volumes. OK, admittedly: even the Bravo Hits have not reached volume 100 yet, so it could be that it is absolutely clear, that volume 182 can only be from the "Cold Hands Seduction" series. But for lower volumes, like 1, 2 or 3, it becomes hard to separate them.
But as I said: just my opinion. If your order suits you: fine.

This works however the results are reversed:

Result : Volume 182\Cold Hands Seduction Volume 182

looking for

Result : Cold Hands Seduction (with Volume and Number removed)\ Volume 182

So I have been able to get the Folder tree desired result now just need to know how to remove the Volume 182 from the original folder?

ALBUM : Cold Hands Seduction Volume 182

Convert : Tag-Tag
Field : TEST
Formatstring: $regexp(%album%,'^(.+)\s(Volume\s\d+)$','$1\\$2')
Result : Cold Hands Seduction\Volume 182

ALBUM : Cold Hands Seduction 123
Convert : Tag-Tag
Field : TEST
Formatstring: $regexp(%album%,'^(.+)\s(Volume\s\d+)$','$1\\$2')
Result : Cold Hands Seduction 123


Thank you however I am not looking to compromise the Album title...what I am trying to adjust is the DIRECTORY STRUCTURE
end result being...

(folder) Cold Hands Seduction
(sub-folder) Volume #
(sub-folder(s) as required) Disc(s) and associated tracks

That what DetlevD showed does not do anything to the field ALBUM but saves the result in a field called TEST.
Instead of using TEST as target, enter the field that you really want to modify.

You got an example how to do it on a test tagfield as a preview, by applying the converter dialog "Tag-Tag".
To make it permanent in the disk folder system, then instead of tagfield TEST do apply the pseudo-tagfield _DIRECTORY.
It is sufficient to select only one file in the folder, all other files in the folder are automatically moved as well.


So after some playing around with this I have been able to achieve the folder structure that I wanted. The example below is for Roman Numeral compilations hence the \D+ and achieves the desired result...

Format value "TITLESORT": [$regexp(%album%,'^.* (Part \D+).*$','$1')]
Format value "ALBUMSORT": $cutRight(%album%,$len(%titlesort%))
Format value "_FILENAME": F:\Backup Processing\%albumartist%\%albumsort%\%titlesort% %mediatype% %year%\%_filename_ext%

I receive an error if I try simply formating the existing "_DIRECTORY" so I use a "_FILENAME" command using a proper windows filepath and the formatted values. Only issue remains is that I am unable to get the cover art (folder/file) to move with it to the new directory. Now most of my files have the coverart embedded however there are other files such as insert images and back cover and disc photos in some of the files so I would like to have these files/folder go with it to the new directory. Any suggestions would be appreciated.

You can take and move all files in the directory folder, when you edit the pseudo tagfield _DIRECTORY.
Try to "format value" the pseudo tag field _DIRECTORY instead of the pseudo tag field _FILENAME.
This will cause a MOVE of the complete folder.

When you load the track files, respectively the parent folder, respectively the root folder, into Mp3tag, you should have a closer look to the fact where is the Mp3tag workfolder situated (should be read in Mp3tag window title).
In relation to this workfolder you can assemble a relative folderpath which points to the place where you want to create the new subfolder of your wish.
As an alternative way you can use an absolute path starting at the drive root, carrying the complete folderpath which points to the new folder.
See also ...
Ordner erstellen und Dateien verschieben


So attempting use the _DIRECTORY suggestions above I have run into the following error which I am unable to resolve.

"Unable to create folder. They system can not find the path specified"
Yet if I use the _FILENAME version all works? Am stymied by this....

This is an OS message, right?
So either you have not got the sufficient access rights or the total filename (with all the path components) is too long or you have illegal characters in it.

Note: When formatting the pseudo tag-field _DIRECTORY, then only the target folder needs to defined, therefore apply a formatstring, which has no filename component.


So this is what I have and I also tried replacing some of the variables with definative file paths with similar results...

%albumartist%\%albumsort%\%titlesort% %mediatype% %year%/

Hmm, you offer a relative path, starting from which drive:\folder?

Format the pseudo-tagfield _DIRECTORY ...
try out a formatstring like the following, ...
replace 'drive:\path' with your environment, ...
make sure to have all parts filled with fitting text, ...

DIRECTORY <== $validate('drive:\path'%albumartist%''%albumsort%''$trim(%titlesort%' '%mediatype%' '%year%),'')


Thank you this now works as I wanted. All assistance appreciated and thanka again.

Have hit a snag with a variant I have been able to configure this script for "Festivals, Compilations,Volumes (numbered and Roman Numerals) however am stuck with one type....

The one that is causing me issue now is one that is an number followed by a " | " than a number?
For example File 13 | 3 now I can get it to create a folder similar to what I want but it removes the | 3 and cuts it down to File 13. Which would be fine if there isn't any other versions...but there could be a File 13 | 4 which than would create a file already exists error...?


I have tried using [$regexp(%album%,'^.* (File \D+).$','$1')] however this does nothing due to the number 1st and as indicated if I use the [$regexp(%album%,'^. (File \d+).*$','$1')] it cut out the " | 3" which I would ultimately like to keep.

The pipe symbol '|' is a reserved character in the file system for the purpose of pipelining, therefore it is not valid to be used within a filename.
You should replace the pipe symbol with an allowed character, e.g. '~', ...
or apply the function $validate.


Thank you for the insight however if I replace the pipe symbol with another one, would I not still have the same existing problem but with a different character in place as it would still format as File 13 and omit the remainder which would be the new symbol and the following number. I also tried playing around with the $validate function and it either generates a folder for year only or not at all..perhaps it is my positioning of the term that is causing the issue but I am unable to get this to play nicely with the others...

That sounds like a conjunctivist question?
What does happen in reality, when you ommit restricted characters from the filepath?

If you create a filename or a foldername, then the rules of the underlying file system defines the creation of names, and therefore there are characters, which are allowed, and some characters, which are forbidden to be applied within names.

The function $validate(filename, to) replaces each invalid character of the set [/?*"<>|:] with a valid character of your choice.

_FILENAME <== $validate(%filename%,'')
... replaces all invalid characters with an underscore letter.

_FILENAME <== $validate(%_filename%,'~')
... replaces all invalid characters with a tilde letter.

DIRECTORY <== $validate('C:\yourpath'%artist%''%album%''%year%),'')
... replaces all invalid characters with an underscore letter.

To avoid further misunderstandings please show us a real world example from your doing.