How to add year to Folder "Album title"

Good evening,

When I add "year" from the Tag to an Album title in the Folder stucture I end up with 2 Folders.
One with the renamed structure (Artist\Album (year)\Tracknumber - Track) and the old one with only the Folder.jpg.
What would be the proper way to add the year to the Album Title in the folder structure.

:astonished:

It would have been ever so nice if you had told us what you do to add year in the folder name.
I assume that you use the converter tag-filename.

If you used an action of the type "Format tag field" for _DIRECTORY then this would rename the directory but not create a new one.
Please note that you only have to enter a mask for the directory - leave out the filename definition:
%album% (%year%)

Yes, I should have, sorry

Yes, that works fine.

Thanks!

I'm new to MP3tag, I don't know how to apply this solution. Where can I find the instructions for how to apply this solution?

The FAQs.
See at least
/t/967/1
on how to create a new action.

Thank you. In following this link this is what I did and the error the resulted.

1a. selected one album (one folder)
1b. selected all 12 songs (b/c Menu option Actions is disabled until a song is selected)
2. ALT+6
3. Select New Icon
4. Name Action Group: Rename Parent Directory
5. Select New Action Icon
6. Select Action Type: Format Value
7. Field: _DIRECTORY
8. Format String: %album% [%year]
9. Select Utils button
10. saved my user defined action group Rename Parent Directory
11. checked box to enable Rename Parent Directory
12 pressed OK button

(BTW, I also tried a another format string which produced the same error:
%album% [%year%]$num(%track%,2)-%title%)

ERROR:
Formatted tags in 0 of 12 files.
0 of 12 files renamed.

What did I do wrong?

I'd say: nothing. As you do not rename the files but the folder.
Has the folder been renamed?

Just a minor correction: I would use an apostrophe to add the square brackets as the square brackets in MP3tag syntax enclose optional strings. So the format string should look like this:

  1. Format String: %album% '['%year%']'

Just one more thing: formatting the _DIRECTORY assumes that you have already the correct folder structure only the names do not fit yet.
If you have a bunch of files in one folder that should get distributed to several folders then do not rename the _DIRECTORY but use the converter TAG-FILENAME with an absolute or relative path-description and filename.

Thanks again for tip. The apostrophes enclosing the brackets worked. But more importantly, I was able to get the parent folder to the songs to be renamed. BTW, I noticed that I only needed to select one song from the album and all songs and assorted image files were moved to the new folder name (ex: Lights -> Lights [1999]). A prompt appears asking the user to move images - select yes.

In addition, I tried using my newly created action to change multiple albums. And this worked too. Awesome. For other beginners like myself, I selected an Artist who had numerous Albums. Of course all of the songs appear in MP3tag. Then I selected one song from each album. Then I selected from the Action Menu|Rename Parent Directory and bam - all 10 album folder names were changed to include the year that album was released. Absolutely fantastic.

As for why it didn't work the first time, I don't know what happened. But all I did was to close the program and reopen it. Then I edited the Format String as you suggested and my user defined Action worked as expected.

As for your thoughtful caveat regarding parsing a group of songs with different albums or artists or both, I think I understand what you're trying to teach me. I think you're telling me to use the Convert Menu rather than Action Menu. Hope to try that soon.

NOTE: There was a typo for those reading this thread:
this line needs to be corrected to: Format String: %album% '['%year%']' (the trailing percent sign was missing).

Thanks to you, I got to add the year to the Folder "Album Title". Question answered.

Why do you declare this message as an error message?
This is not an error message, but just a status message.
And ... in this case the status message tells the truth.
There have been no real tag-fields formatted.
There have been no files renamed.

ad 1.
To rename resp. move a folder, it is enough just to select one file in the folder.
You can also select all the files in the folder, Mp3tag behaves tolerant.

ad 4.
In the Mp3tag system of principles, procedures, conventions, rules and terms ...
there exist two pseudo-tag-fields resp. system variables basically to be read only:
%_DIRECTORY%, %_PARENT_DIRECTORY%
(with the surrounded percent signs they look like ordinary tag-fields).
%_DIRECTORY% provides the name of the home folder of the files.
%_PARENT_DIRECTORY% provides the name of the folder, one step above the home folder of the files.

For renaming or moving a folder Mp3tag provides the pseudo tag-field _DIRECTORY, which can be written.
The homonymity is something you have to respect carefully.
Using the pseudo tag-field _DIRECTORY you can change all parts of the entire folder path.

ad 8.
If you want to use the tag-field YEAR only when it contains any value (note the special function of the square brackets !!!), then the correct format string looks like ...

%ALBUM%[' '$left(%YEAR%,4)]

If you want to see square brackets around the 4-digit year number, then the correct format string looks like ...

%ALBUM%' ['$left(%YEAR%,4)']'

If you want to use the tag-field YEAR only when it contains any value (note the special function of the square brackets !!!) and if you want to see square brackets around the 4-digit year number, then the correct format string looks like ...

%ALBUM%[' ['$left(%YEAR%,4)']']

ad 9.
Opening the "Utils" dialog is not required.
For what the dialog is good, that can be explained another time.

DD.20130109.2007.CET

Thank you for your help in explaining the use of brackets. I was wondering how I could avoid the appearance of empty brackets ( [] ) in the folder name when no year exists.

Thank you for educating newbies like me as to the difference between an error message and a status message. Thank you for making this distinction and clarification. I will be sure to be more precise in the future. As stated above, I asked what did I do wrong? My inference was clear. I messed up; not the program.