Renaming Script Help

Tags: #<Tag:0x00007fe3db1e4eb8>


Hi all. I am using MusicBrainz Picard for MacOSX. I would like to use a script that puts the artist and album name on one folder when renaming. For example “C:/Eagles - Greatest Hits” instead of “C:/Eagles/Greatest Hits”. And if the artist name could be restricted to 6 characters that would be awesome.

The file system in my car is quirky and this would work.


This is slightly harder to answer than the other scripting questions I’ve fielded because I don’t know what the rest of your file name script looks like. I’ll give it a shot, but you’ll be needing to do more work than just copying whatever I give you.

The key is replacing whatever part of the script contains %albumartist%/%album% with something along the lines of %albumartist% - %album%. The tricky part comes in the fact that there may be more complex functions around both of those (such as $if2(%albumartist%,%artist) or similar), so don’t just blindly copy the second bit of code up there – take whatever you already have that looks like it matches, and replace the / with a -.

For the length restriction, you can use $left(%albumartist%,6), again replacing the %albumartist% with whatever more complex form it has in the existing script.

If you want something a bit more robust, I’d recommend a line I’ve adapted from my own ridiculously-complex naming pattern. This will add the artist instead of the album artist if and only if the file doesn’t have the second (which will likely only happen if you deliberately delete that from the tags), not add the dash if you really have no idea who made it, and will also prioritize using the sortable names for both types of artist. The last bit is especially important in your case, where restricting it to six characters will result in a lot of names like “The Ea”.

$left($if2(%albumartistsort%,%albumartist%,%artistsort%,%artist%),6)$if($or(%albumartist%,%artist%), - ,)$if2(%album%))