Plex Naming Schemes

All about user-defined episode / movie format expressions
Locked
User avatar
rednoah
The Source
Posts: 18356
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Plex Naming Schemes

Post by rednoah » 12 Sep 2016, 10:03

Plex Naming Standard

Plex has strict standards for naming and organizing your media files.

Code: Select all

Movies/Avatar (2009)/Avatar (2009)
TV Shows/Alias/Season 01/Alias - S01E01 - Truth Be Told
The {plex} binding which will give you the appropriate Plex path for movies, TV episodes, Anime episodes and music files:

Code: Select all

{plex}
:idea: Make sure to Disable Local Media Assets for all your media libraries to make Plex not give preference to the embedded media title.


Since the {plex} binding will give you a File object, it's easy to reuse some path components and omit others. {plex.name} and {plex.tail} are particularly useful if you want to rename files in place or if you want the {plex} path without the top-level Movies or TV Shows folder.

e.g. Avatar (2009)

Code: Select all

{plex.name}
e.g. Firefly/Season 01/Firefly - S01E01 - Serenity

Code: Select all

{plex.tail}
e.g. Firefly/Firefly - S01E01 - Serenity

Code: Select all

{plex[1]}/{plex[3]}
e.g. Movies/Avatar (2009)/Avatar (2009) by James Cameron [720p, x264, AC3].eng

Code: Select all

{plex.derive{" by $director"}{" [$vf, $vc, $ac]"}}
:idea: plex.derive() can be used to insert additional information after the file name but before the subtitle language suffix and file extension.


Image



Kodi Naming Standard

The {kodi} binding and the {plex} binding work exactly the same, with slightly different implementation details, e.g. SxE formatting and multi-episode formatting.



Custom Naming Schemes

If you need to make very specific customizations to the standard Plex naming scheme, you'll want you write your own format expression so you have full control over all the bits and pieces. You can get started by copying the following examples and modifying them to your liking.

Movies

Code: Select all

Movies/{n} ({y})/{n} ({y}){' CD'+pi}{'.'+lang}
TV Series

Code: Select all

TV Shows/{n}/{episode.special ? 'Specials' : 'Season '+s.pad(2)}/{n} - {episode.special ? 'S00E'+special.pad(2) : s00e00} - {t.replaceAll(/[`´‘’ʻ]/, /'/).replaceAll(/[!?.]+$/).replacePart(', Part $1')}{'.'+lang}
Anime

Code: Select all

Anime/{primaryTitle}/{primaryTitle} - {sxe} - {t.replaceAll(/[!?.]+$/).replaceAll(/[`´‘’ʻ]/, /'/).replacePart(', Part $1')}
Music

Code: Select all

Music/{n}/{album+'/'}{pi.pad(2)+'. '}{artist} - {t}
:idea: Please read the FAQ and How to Request Help.

Locked