Video Filename Reformatting

I have a bunch of video files that I would like to rename (and tag if possible). Many have names such as the following:

I want to replace the periods with a space.

I want to change the ()'s to []"s only for the year, but leave the ()'s for extended.

I want to capitalize every word, including of and the.

Not all file names are formatted the same, so I am hoping for some sort of logic on how to accomplish this.


I also want to get rid of certain parts of the filename that might not be useful in the filename nor the tags.

I realize this might be a multi-step process.

Which format do the video files have? MP4?
Then it might be easiest to use the tag content to create new filenames.
Or, if the files have not yet been filled, fill them first and do the rest from the then structured data.

I want to rename them first, and then populate the tags with the properly named filenames. In order to populate the tags first, I would have to type everything in manually, which completely alleviates why I want to use something to do the work for me.

I need to minimize the filename renaming. Thus, my questions. There are multiple file types. They all show up in MP3Tag except for the .avi's. Most of them are .mkv or .mp4.

This is not really true.

could be turned into tag data with the function Convert>Filename-Tag and such a mask:
As don't know if you need "(extended)" (if this is part of every title, I would assume you would not need it or you could easily append that string to title again).
You could then manipulate the field TITLE with all the modifications you want like case conversion and replacing "the" and "of".
And finally, you write back the filename.

You said this is not really true to populate the tags. Then how else will the tags get populated?

Most file names have ALL words separated by periods.

For example:


Your example only works in a one word title, which is why I came here for help. I need to figure out how to get rid of ALL of the periods in the file names, and replace them ALL with spaces. Unless there is a better way that I am not thinking of.

You have not even tried it right?
The.Quick.Brown.Fox.Climbs.The.Mountain.(1980).720p.mkv" -> %title%.(%year%).%resolution%
title: The.Quick.Brown.Fox.Climbs.The.Mountain
year: 1980
resolution: 720p
is what I get. Everything is fine, I would say.
And now you treat TITLE with an action to replace all the dots with a blank.


Sorry, but I did not try because actually most of them (but not all) are named like this:


...with the year NOT in parenthesis for most of them, and I thought the period separating each word would make it think each element was a different field.

Basically, the file names are polluted with all kinds of crap (not always in the same place) that I do not want. The only info I want are the titles of the movies or TV shows, the year (if applicable, not for TV shows), and the resolution. I only want the resolution in the tag though, not in the filename.

But since the year does not have anything distinguishing it from the rest of the filename, I can't see anyway to do it, unless there is some sort of mask that can be defined to look for four numbers, assigning everything before that point to the title tage, and then assign mask match to the year tag if it finds it.

That is a good approach - but it still means that you first import everything into the field TITLE and then treat TITLE.
With TITLE as source you could fill YEAR like this:
Action of the type "Format value" for YEAR
Format string: $regexp(%title%,.*(\d+),$1)

You would remove the number from title with
Action of the type "Format value" for TITLE
Format string: $regexp(%title%,(.*) \d+,$1)

I will try that and then go to bed. I greatly appreciate your help!