Masks to Configure Folder and Filename Formats
Wiki Home > MediaMonkey 2024 Help > Reference Information > Masks to Configure Folder and Filename Formats
Introduction
When ripping, converting, syncing, or organizing files, you can select the format in which the folders and filenames will be created. When tagging from filenames, you can select what tags will be updated based on the folder/filename format. This section describes Folder and Filename Masks that allow you to define these formats.

Concepts
Generally, there are 3 elements to configure when choosing a Destination Mask:
- Directory: This is chosen using the directory browser button (e.g. C:\My Music).
- Directory format: This is chosen using the 'masks' such as \<Artist>\<Album>\ . e.g.
C:\My Music\<Artist>\<Album>\ would result in
C:\My Music\U2\The Joshua Tree\ - Filename format: This is chosen using the 'masks' such as \<Track #> - <Title> . e.g.
C:\My Music\<Artist>\<Album>\<Track #> - <Title> would result in
C:\My Music\U2\The Joshua Tree\1 - Where the Streets Have No Name.mp3
Similarly, when using Auto-tag from Filename, 2 elements are configured to read the filename format:
- Directory format: e.g. \<Artist>\<Album>\ would read \My Music\Beatles\White Album\Song.mp3 and set Artist field to 'Beatles', and Album field to 'White Album'
- Filename format: e.g. \<Artist> - <Title> would read \U2 - God and set Artist field to 'U2' and Title field to 'God'
Mask Reference
The table below describes most of the commonly used characters and fields in a mask.
Mask | Function |
---|---|
' ' (space) | A space in a mask appears as a space in the path/filename that is written. Note that spaces automatically disappear in case they are in the beginning or end of a filename. |
'-' | A dash in a mask appears as a dash in the path/filename that is written. |
'\' | A slash following a mask element causes a directory to be created. |
'.\' | A .\ at the beginning of a mask causes whatever portions of the mask that follow to be written in the same directory as the source file(s). For example, a mask of C:\My Music\<Artist> - <Title> would write tracks to C:\My Music, but a mask of .\<Artist> - <Title> would write the new filenames into the directories from which the source files originate. |
<Added> | Writes the Library Added field to a directory or filename (depending on whether it is followed by a '\') |
<Artist> | Writes the Artist field to a directory or filename (depending on whether it is followed by a '\') |
<Album> | Writes the Album field to a directory or filename (depending on whether it is followed by a '\') |
<Title> | Writes the Title field to a directory or filename (depending on whether it is followed by a '\') |
<Genre> | Writes the Genre field to a directory or filename (depending on whether it is followed by a '\') |
<Disc#> | Writes the Disc Number field to a directory or filename (depending on whether it is followed by a '\') |
<Track#> | Writes the Track Number field to a filename (assuming it is not followed by a '\') |
<Year>, <Date> | Writes the Year field to a directory or filename (depending on whether it is followed by a '\') |
<Original Date> | Writes the Original Date field (as Year) to a directory or filename (depending on whether it is followed by a '\') |
<Bitrate> | Writes the Bitrate field to a directory or filename (depending on whether it is followed by a '\') |
<Album Artist> | Writes the Album Artist field to a directory or filename (depending on whether it is followed by a '\') |
<BPM> | Writes the Beats Per Minute field to a directory or filename (depending on whether it is followed by a '\') |
<Composer> | Writes the Composer field to a directory or filename (depending on whether it is followed by a '\') |
<Custom X> | X can have a value between 1 to 10. Writes 1 of the 10 Custom fields to a directory or filename (depending on whether it is followed by a '\'). Example: <Custom 2>. |
<Podcast> | Writes the Podcast name to a directory or filename (depending on whether it is followed by a '\') |
<Ignore:X> | Ignores x characters in the path. Used only for Tag from Filename. |
$First(<'Field'>,count,skip) | Limits the number of values for multiple definition fields to count, optionally skipping skip values. For instance: <Genre> would yield: Rock;Pop;Acoustic $First(<Genre>) would yield: Rock $First(<Genre>,2) would yield: Rock;Pop $First(<Genre>,1,1) would yield: Pop |
<'Field':n> | Can be used in conjunction with any of the above mask elements in order to force alphabetic fields to a specified length or to pad alphanumeric fields. For instance: C:\My Music\<Artist:1>\<Artist>\<Album> - <Track #> - <Title> which would yield C:\My Music\A\Abba\Gold - 2 - Fernando.mp3 , useful for creating alphabetized directories. <Track#:2> would yield 07 (for Track=7), and would yield 153 (for Track 153) Numeric fields are not truncated: e.g. <Year:3> would yield 1940 (for 1940); The exception being: <Year:2> would yield 40 (aside from this specific field and value, numeric fields are not otherwise truncated) Note: For text fields, the resultant characters start from the left. For numeric fields, the resultant digits start from the right. If n > the number of characters in the field, then the resultant path is padded with spaces or 0's depending on whether the field is text or numeric. |
<'Field':-n> | Same as above except that if n > the number of characters in the field, then the resultant path is padded with spaces or 0's (depending on whether the field is text or numeric) from the opposite side. |
<'Field'@n> |
Creates alphabetical directories grouped in sets of x letters. For example: C:\My Music\<Artist@3>\<Title> would create directories with all Artists beginning with ABC, DEF, GHI, etc. |
$RemovePrefix(string) | Removes a prefix from a string. e.g. $RemovePrefix(<Artist>) changes 'The Beatles' -> 'Beatles' . Prefixes are configured in Tools > Options > Library > Appearance > Ignore prefixes. |
$MovePrefix(string) | Moves a prefix to the end of a string. e.g. $MovePrefix(<Artist>) changes 'The Beatles' -> 'Beatles, The'. Prefixes are configured in Tools > Options > Library > Appearance > Ignore prefixes. |
$Group(string,integer) | Groups the first letter of the string into sets of letters of length specified by (optional) integer parameter. e.g. \$Group(<Artist>,2) for 'U2' would yield \UV (similar to <Artist@2>. |
$Replace(string,what,by) | Replaces all occurrences in a 'string' of 'what' by 'by'. |
$Left(string,n) | Returns the left n characters of string. |
$Right(string,n) | Returns right n characters of string. |
$Mid(string,i,n) | Returns n characters of string starting with character i |
$RightFrom(string,i) | Returns everything after the occurrence of The character i |
$LeftFrom(string,i) | Returns everything before the occurrence of the character i |
$Pos(string,i) | Returns the position of character i |
$Trim(string) | Returns string with spaces trimmed from the beginning and end of string |
$Upper(string) | Converts string to uppercase |
$Lower(string) | Converts string to lowercase |
<Folder:n> | This will recreate all folders in a source path except for the first 'n' directories. For example: C:\My Music\<Folder:2>\<Title> would create the source directory structure (without the first 2 directories in the source paths), followed by track title. |
<Folder:-n> | This will recreate only the last n folders in a source path. This is very useful when it is known that the source directory is homogeneously structured. |
<Playlist> | Writes the Playlist name for any Playlists that have been selected to a folder (assuming it is followed by a '\'). This mask can only be used for Sync, CD Burning and Exporting tracks. |
<Filename> <Filename:n> |
This recreates the current filename, and can be used with modifiers to force the resultant text to a set length. |
<Type> | Writes the file type to a directory \My Music\MP3\U2... or \My Music\M4A\U2.... |
<Extension> | Writes the file extension (in lower case) to a directory \My Music\mp3\U2... or \My Music\m4a\U2.... |
<Auto Number> <Auto Number:n> |
This creates a sequential number that can be inserted into the path. This is especially useful for inserting into the beginning of a filename when exporting to a device or burning to a CD and you wish for tracks in a playlist to be played in the order of the playlist (rather than alphabetical order). By default, 3 digits are used, though this is configurable. |
<Random> <Random:n> |
This creates a random number that can be inserted in the path. It is most useful for inserting into the beginning of a filename when exporting to a device or burning to a CD and you wish to ensure that the tracks will be played in random (rather than alphabetic) order. By default, 4 digits are used, though this is configurable by setting n. |
<Path> | This recreates the same path and filename as the original source file(s), without the drive letter. |
<Path:n> | This recreates the same path and filename as the original source file(s), without the drive letter or the first n folders of the source path. |
<Path:-n> | This recreates the same path and filename as the original source file(s), without the drive letter or the last n elements of the source path. |
$if(string criteria,truevalue,falsevalue) |
This allows masks to be used conditionally. Several examples follow: Similarly, other operators such as <,<=,>,>= and <> can be used. For instance, to return 80's for year 1984: To use a mask if a field isn't empty, just enter a string without any criteria'. For example: Note: Make sure to precede all control characters such as ')' or ',' with '$' if you wish them to appear as normal characters. For example: |
$Len(string) | Returns the length of string. Useful with $If() function. |
$Assign(variable,value) and $Use(variable) | Allows variables to be used several times in a mask, e.g. '$Assign(V,A)$Use(V)$Use(V)' produces string 'AA'. This is useful when a complex 'value' (i.e. a mask component) needs to be used several times within a mask. |
Related
- Ripping Audio CD
- Converting Files
- Synchronization
- Auto-Organize/Organize Files
- Auto-Tag from Filename
English |
Additional Help: Knowledge Base | Forum | MediaMonkey Support | MediaMonkey for Android Help | MediaMonkey 5 Help | MediaMonkey 4 Help