I need to verify that _FILENAME consists of "%artist% - %title%"

Hi there,

It would be very useful to be able to filter a list of files to verify that they confirm to a certain naming convention. I have read other posts suggesting using something like ".* - .*" to verify that all of my files have a " - " in them. This is helpful to an extent, however, it does not allow me to automate the process of verifying that the data in the filename is normalised with the data in the two tag fields that I am using. Without this, I am looking at having to manually verify 22,000 files in case there is some information such as (special mix) that is either in the tag or filename only, to avoid losing it when syncing. Ahhhh, do you see my pain? :slight_smile:

I would imagine that something like "%artist% - %title%" as a filter would do the job, but I cannot find any way to use tags in the filter. I have tried escaping things but not sure how/if I should be doing this.

Any help that you may be able to provide would be greatly appreciated, even if it is a suggestion of another way that I could perform this verification using a slightly more cumbersome method.

Many thanks,


I cannot see a way to do this what you have described. The filter section works only on specific tags or at all tags using a regular expression as a filter, i. e. one 'fixed' expression against a number of files, not an expression with substitutable tag contents.

But there may be a workaround.

Assuming '%artist% - %title%' is your naming convention.
Run a 'Tagfield format' action using your naming convention as part of the formatstring to create content into new tagfield, say TEMP, use formatstring '$replace(%_filename%,%artist% - %title%,)'.
If the naming convention let match content of _FILENAME and your naming convention, then the tagfield TEMP will let be empty, that means it will not be created, otherwise the tagfield TEMP will be filled with the content of the tagfield _FILENAME.
Use the filter section. Select tagfield TEMP from the picklist and type a point into the filter edit field.
All tracks with correct naming convention will disappear from the view.
So was it in my testcase.
4. After all delete the tagfield TEMP from the specific tracks.


Using the current version Mp3tag v2.58 you can apply the Filter [F3] with a filter expression like ...

"$replace(%_FILENAME%,%ARTIST%' - '%TITLE%,)" IS ""

... to display all files which follows your naming convention.

If you want to see the opposite ...

NOT "$replace(%_FILENAME%,%ARTIST%' - '%TITLE%,)" IS ""

... this expression displays all files which do not follow your naming convention.