This will also involve re-tagging your music via MusicBrainz, and it will also involve "moving" the albums that MusicBrainz tags to a separate folder from the one they currently reside in, as (to the best of my knowledge) MB-Picard won't rename "in-situ" folders, but in addition to Davey's suggestion (above), you can also try my MusicBrainz tagging script / nomenclature...
Copy one of the optional lines below into the "Options -> Options -> File naming -> Name Files Like This" section overwriting the default selection (MusicBrainz Picard):
Option 1 (DiscNumber in Filename + Disc Folders + Album Name Only):
Code:
$if2(%albumartist%,%artist%)/%album%/$if($gt(%totaldiscs%,1),Disc %discnumber%)/$if($gt(%totaldiscs%,1), %discnumber%-,)$num(%tracknumber%,2) - $left(%artist%,32) - $left(%title%,32)
Option 2 (DiscNumber in Filename + Disc Folders + Album Name + Date - Trailing):
Code:
$if2(%albumartist%,%artist%)/%album% $if(%date%,[$left(%date%,4)])/$if($gt(%totaldiscs%,1),Disc %discnumber%)/$if($gt(%totaldiscs%,1), %discnumber%-,)$num(%tracknumber%,2) - $left(%artist%,32) - $left(%title%,32)
Option 3: (DiscNumber in Filename + Disc Folders + Album Name + Date - Leading):
Code:
$if2(%albumartist%,%artist%)/$if(%date%,[$left(%date%,4)] )%album%/$if($gt(%totaldiscs%,1),Disc %discnumber%)/$if($gt(%totaldiscs%,1), %discnumber%-,)$num(%tracknumber%,2) - $left(%artist%,32) - $left(%title%,32)
----
NOTES:
- Folders will be named with the 'AlbumArtist' value if present (else 'TrackArtist'), and files with the 'TrackArtist' value as follows (Option 1);
Code:
"<Target Folder>\AlbumArtist\Album\Disc DISC#[1]\DISC#[1]-TRACK#[2] - TrackArtist[32] - TrackName (Feat. Artists)[32].EXT"
- Windows has a 326 character, path length limit (incl. filename), so the above limits the TrackArtist lengths to 32 and TrackName lengths to 32 characters maximum. This can be adjusted to suit individual needs.
- Disc number items are applied only if the Discnumber (Totaldiscs) field is populated in the track's tag, and is greater than 1. Dates will only be appended (or prepended, depending on option used) to the album folder if the track tags contain the relevant 'date' tag, otherwise only the album name will be written as part of the file path.
- Using MusicBrainz Picard regex expressions to conditionally add the release dates (if present in the tags), means curved brackets cannot be used as it conflicts with the regex statement syntax. Additionally, using the 'date' tag as a source, the regex expression in options 2 and 3 will insert ONLY the first 4 digits of the data in the tag as part of the folder path. This assumes that the tag data is saved in YYYY-MM-DD (US) format as a pose to DD-MM-YYYY (EU) format. The '$left' portion of the statement may be substituted with '$right' if the format is of the EU style.
- Feat. Artists requires the 'Feat. Artists In Track Names' plugin.
Personally, I use "Option 3". As this then populates file lists and such in the "Files" section of the library by release date. And since I already use the solution Davey proposed, this means that (in the main), for each artist in my library, while the main "Album View" will list the albums alphabetically, in the "Files" view, they are ordered first by "Album Artist", then drilling down, by original release year. This does depend mind you, on the person who uploaded the MusicBrainz data, to have had the motivation to have submitted the release with *all* the relevant data, including release year. As good as MusicBrainz is, it relies heavily on the effort (or lack thereof) of the users who submit the metadata.