Selecting Episode Order: Date and Title effectively allows us to ignore the typical SxE patterns and match by Episode Title instead. The {order} binding can then be used to format file names with normal Airdate SxE Order.
This works because Episode Order: Date and Title uses the airdate (e.g. 2002-10-18) as episode number (e.g. 20021018) and thus never matches typical SxE patterns, which allows the title (e.g. Jaynestown) to take precedence.
GUI: Match by Title
The Presets feature allows you to create easy access shortcuts and custom Match by Episode Title buttons. The key is using Episode Order: Date and Title for matching and then using a format such as {order.airdate.plex.name} for the destination path to force SxE numbers.CLI: Match by Title
The --mapper option can be used to strip episode numbers from the Episode object leaving only the episode title for matching:viewtopic.php?t=10996
e.g. force Match by Episode Title or Match by Episode Airdate by nullifying SxE numbers:
Shell: Select all
--mapper "episode.number(null)"
Console Output: Select all
$ filebot -rename *.mkv --db TheTVDB -non-strict --format "{plex.name}" --mapper "episode.number(null)"
[MOVE] from [Monogatari - 5x01 - Yotsugi Doll - Part 1.mkv] to [Monogatari - S00E15 - Yotsugi Doll - Part 1.mkv]
[MOVE] from [Monogatari - 5x02 - Yotsugi Doll - Part 2.mkv] to [Monogatari - S00E16 - Yotsugi Doll - Part 2.mkv]
[MOVE] from [Monogatari - 5x03 - Yotsugi Doll - Part 3.mkv] to [Monogatari - S00E17 - Yotsugi Doll - Part 3.mkv]
[MOVE] from [Monogatari - 5x04 - Yotsugi Doll - Part 4.mkv] to [Monogatari - S00E18 - Yotsugi Doll - Part 4.mkv]
e.g. Match by Episode Title but Format by Airdate Episode Group to match multi-episode out-of-order cartoons:
NOTE: {episodelist} requires FileBot 5.1.0 or higher
Shell: Select all
--mapper "episode.number(null).map(episodelist.findAll{ airdate == it.airdate }.episode).reverse()"
Console Output: Select all
$ filebot -rename *.mkv --db TheTVDB -non-strict --format "{plex.name}" --mapper "episode.number(null).map(episodelist.findAll{ airdate == it.airdate }.episode).reverse()"
[MOVE] from [ChalkZone.S01E01.Rudys.First.Adventure.Rudys.Story.Bushel.Full.of.Yum.mkv] to [ChalkZone - S01E01-E03 - Rudy's First Adventure & Rudy's Story & Bushel Full of Yum.mkv]
[MOVE] from [ChalkZone.S01E02.SnapMobile.Rudys.First.Date.Future.Zone.mkv] to [ChalkZone - S01E04-E07 - SnapMobile & Rudy's First Date & Future Zone & Mumbo Jumbo Jump.mkv]
[MOVE] from [ChalkZone.S01E03.The.Wiggies.Rapunzel.Hair.To.Stay.Coming.To.Life.mkv] to [ChalkZone - S01E19-E22 - The Wiggies & Rapunzel & Hair To Stay & Coming To Life.mkv]