Need Help With This Action

So, here is an example album title:

"Record Label 001 (MM/DD/YY) Name of release"

How would I change it to:

"Record Label YYYY-MM-DD Name of release"

Please let me know what I need to do, I have ~300 albums I would like to batch edit if possible. Luckily, they are all released in the year 2000 or later so I dont have to worry about a 19-- date.


Not sure about the 001.

Create an action of the type "Replace with regular expression.
Enter as search string: (.)((\d\d)/(\d\d)/(\d\d))(.)
Enter as replace string: $1 20$4-$3-$2 $5

There is a formula for formatting the date from MDY to YMD ...
But knowing this alone will not help at all.

Mp3tag provides several ways to solve the given task.
Following there is outlined one way to go.

To get your goal you have to do some modifications to the title string.
The title string has to be splitted into components and then re-assembled into new formatted string.

TITLE is given: Record Label 001 (02/01/09) Name of release TITLE should be: Record Label 2009-02-01 Name of release Step 1 Modify the given string, so that it can be easily splitted into components by Mp3tag action

"Guess values

(import tag-fields)" Replace all space characters with underline characters. Replace underline characters in conjunction with round brackets with sp

ace characters.

TITLE <== $replace(%TITLE%,' ','_','_(',' (',')_',') ') Result should be ... Record_Label_001 (02/01/09) Name_of_release Step 2 Run action "Guess values" using guessing pattern ... %TMP_RL% (%TMP_MDY%) %TMP_NOR% Result should be three new tag-fields (see dialog "Extended Tags...") TMP_RL = Record_Label_001 TMP_MDY = 02/01/09 TMP_NOR = Name_of_release Step 3 Remove the trailing number from the Record Label ... TMP_RL <== $cutRight(%TMP_RL%,4) Step 4 Modify date format MDY to YMD using the formula ... TMP_YMD <== $regexp($regexp(%TMP_MDY%,'(\d\d?)/(\d\d?)/((?:\d\d)?(?:\d?\d))','0000$3-00$1-00$2'),'0*(\d\d\d\d)-0*(\d\d)-0*(\d\d)','$1-$2-$3') Step 5 Set century for the YMD date ... TMP_YMD <== '20'$cutLeft(%TMP_YMD%,2) Step 6 Assemble the new title string ... TITLE <== %TMP_RL% %TMP_YMD% %TMP_NOR% Step 7 Change the underline characters to space characters ... TITLE <== $replace(%TITLE%,'_',' ') Step 8 Remove all helper tag-fields ... TMP_RL;TMP_NOR;TMP_MDY;TMP_YMD

You can put all steps into one action group ...

Begin Action Group Test_2014#20140203.eleifer.RecordLabel.MDYtoYMD

Action #1
Actiontype 7: Import tag fields (guess values)
Source format __: $replace(%TITLE%,' ','','(',' (',')_',') ')
Guessing pattern: %TMP_RL% (%TMP_MDY%) %TMP_NOR%

Action #2
Actiontype 5: Format value
Field ______: TMP_RL
Formatstring: $cutRight(%TMP_RL%,4)

Action #3
Actiontype 5: Format value
Field ______: TMP_YMD
Formatstring: $regexp($regexp(%TMP_MDY%,'(\d\d?)/(\d\d?)/((?:\d\d)?(?:\d?\d))','0000$3-00$1-00$2'),'0*(\d\d\d\d)-0*(\d\d)-0*(\d\d)','$1-$2-$3')

Action #4
Actiontype 5: Format value
Field ______: TMP_YMD
Formatstring: '20'$cutLeft(%TMP_YMD%,2)

Action #5
Actiontype 5: Format value
Field _____: TITLE
Formatstring: $replace(%TMP_RL% %TMP_YMD% %TMP_NOR%,'',' ')

Action #6
Actiontype 9: Remove fields
Fields to remove (semicolon separated): TMP_RL;TMP_NOR;TMP_MDY;TMP_YMD

End Action Group Test_2014#20140203.eleifer.RecordLabel.MDYtoYMD (6 Actions)


There is also a rather short way ...

Convert | Tag - Tag | ALT+5
Format string:
$regexp(%TITLE%,'^(.+?)\s\d\d\d\s((\d\d)/(\d\d)/(\d\d))\s(.+?)$','$1 20$4-$2-$3 $5')
From: Record Label 001 (02/01/09) Name of release
To : Record Label 2009-02-01 Name of release


Dude.. you are a life saver. Although you kind of over-estimated my ability to follow instructions, I somehow managed to transform my library into an OCD person's heaven. Thank you so much, this saved me hours of manual editing.