# Testing mp3tag behaviour

**URL:** <https://community.mp3tag.de/t/testing-mp3tag-behaviour/42469>\
**Category:** Support\
**Created:** [July 26, 2018, 7:12pm UTC](https://community.mp3tag.de/t/testing-mp3tag-behaviour/42469 "2018-07-26T19:12:14Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![sheepdisease](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/d07c76/32.png) [@sheepdisease](https://community.mp3tag.de/u/sheepdisease)\
**Post date:** [July 27, 2018, 6:57am UTC](https://community.mp3tag.de/t/testing-mp3tag-behaviour/42469/3 "2018-07-27T06:57:24Z")

</div>

Thank you for your comprehensive reply.

As you mentioned tags, I was interested to see the ones listed within mp3tag so looked through the data folder. I then saw what you mean, as the following are labelled 'fields':

TITLE  
ARTIST  
ALBUM  
YEAR  
TRACK  
GENRE  
COMMENT  
\_DIRECTORY  
ALBUMARTIST  
COMPOSER  
DISCNUMBER

I notice that \_FILENAME is missing from this list, doesn't that seem strange?

Not missing in documentation though:

> **[Tag Field Mappings – Mp3tag Documentation](https://docs.mp3tag.de/mapping/)**
>
> Overview of all available tag fields, their names in Mp3tag, and how they are mapped to the internal structures of the different tag formats. Mp3tag is the universal Tag Editor.

ALBUM  
ALBUMSORT  
ALBUMARTIST  
ALBUMARTISTSORT  
ARTIST  
ARTISTSORT  
BPM  
COMMENT  
COMPILATION  
COMPOSER  
COMPOSERSORT  
CONDUCTOR  
CONTENTGROUP  
COPYRIGHT  
DISCNUMBER  
ENCODEDBY  
ENCODERSETTINGS  
ENCODINGTIME  
FILEOWNER  
FILETYPE  
GENRE  
GROUPING  
INITIALKEY  
INVOLVEDPEOPLE  
ISRC  
LANGUAGE  
LENGTH  
LYRICIST  
MEDIATYPE  
MIXARTIST  
MOOD  
MOVEMENTNAME  
MOVEMENT  
MOVEMENTTOTAL  
MUSICIANCREDITS  
NETRADIOOWNER  
NETRADIOSTATION  
ORIGALBUM  
ORIGARTIST  
ORIGFILENAME  
ORIGLYRICIST  
ORIGYEAR  
PODCAST  
PODCASTCATEGORY  
PODCASTDESC  
PODCASTID  
PODCASTKEYWORDS  
PODCASTURL  
POPULARIMETER  
PUBLISHER  
RATING MM  
RATING WMP  
RELEASETIME  
SETSUBTITLE  
SUBTITLE  
TAGGINGTIME  
TITLE  
TITLESORT  
TRACK  
UNSYNCEDLYRICS  
WWW  
WWWARTIST  
WWWAUDIOFILE  
WWWAUDIOSOURCE  
WWWCOMMERCIALINFO  
WWWCOPYRIGHT  
WWWPAYMENT  
WWWPUBLISHER  
WWWRADIOPAGE  
YEAR

I had looked through the documentation and find it strange some things are undocumented like `_TAG` & `_ALL`. From reading other posts there is a danger that irrelevant tags will be affected by using these 'pseudo-fields' with undesirable results.

Otherwise tags and functionality are documented here:

> **[Scripting Functions – Mp3tag Documentation](https://docs.mp3tag.de/scripting/)**
>
> Documentation on Mp3tag's scripting functions. Mp3tag is the universal Tag Editor.

> **[Rearrange Parts of File Names – Mp3tag Documentation](https://docs.mp3tag.de/converters/rearrange-filenames/)**
>
> Documentation on Filename to Filename, a converter to rearrange parts of file names. Mp3tag is the universal Tag Editor.

Having identified the disadvantages of using 'pseudo-fields', it is frustrating that there is not more functionality for changing multiple specific tags at the same time.

In one of my other posts this was explored but of limited success using guess values. For example, [I have a list of band names](https://community.mp3tag.de/t/using-tag-in-actions-combining-actions-for-different-tags/42419/43) that I want to force to uppercase, but at the moment this means reproducing the list for several fields, which means if adding or removing from the list, it becomes very onerous.

It would be much better to have one action within an action group to tackle all these fields at once, such as ALBUMARTIST, ARTIST & ARTISTS. Even better, it would be able to cope with \_FILENAME & \_DIRECTORY to cover all the relevant fields. There do appear to be limitations to using guess values in this way, in part because this use of functionality is not documented and because I still have limited understanding of correct syntax. This means I could be wasting my time trying to make something work that others know wont in the first place or I can't make it work when someone else could because it has not been written correctly.

Here is an example:

Guess values:  
`$replace(%ALBUMARTIST% === %ARTIST% === %ARTISTS%,'^(abba|adda|absrdst|acdc|ac dc|akdong musician|bkpr|blk jks|bts|chllngr|chvrches|chll pll|dfrnt|diiv|dmc|dnce|drwn|dtcv|dwntwn|dvsn|dvsr|exo-k|grmln|haim|htrk|hxlt|inxs|jmsn|jpnsgrls|kaytranada|kda|kshmr|ladybaby|lany|lee hi|lndn drgs|lnzndrf|lvthn|mgmt|mika|mnek|mndrmnek|ms mr|mstrkrft|n sync|nsync|partynextdoor|pwr bttm|pza|rdgldgrn|rkcb|rlyr|rÜfÜs du sol|rvivr|ry x|sbtrkt|shxcxchcxsh|sophie|stnnng|strfkr|swmrs|tnght|tr/st|tts|tstr|walk the moon|wzrd|u2|u-kiss|unkle|wstrn|xtrmst|zayn)$',$upper(%ALBUMARTIST% === %ARTIST% === %ARTISTS%)`

String:  
`%ALBUMARTIST% === %ARTIST% === %ARTISTS%`

Is this written correctly? Can you see a way of making this work correctly with \_FILENAME and \_DIRECTORY given the limitations forced onto mp3tag by Windows?

---

_[View the full topic](https://community.mp3tag.de/t/testing-mp3tag-behaviour/42469)._
