This article will show you how to install FileBot. FileBot can be used to automatically rename TV and movie files for your media libraries.
You'll need to execute some commands via SSH to use this software. There is a separate guide on how to connect to your slot via SSH. Commands are kept as simple as possible and in most cases will simply need to be copied and pasted into the terminal window (then executed by pressing the Enter key).
FileBot requires you to install Java first, as the server's version won't be recent enough.
Install FileBot by logging in via SSH, then copying and pasting the following:
wget -O ~/filebot.tar.xz https://downloads.sourceforge.net/project/filebot/filebot/FileBot_4.7.9/FileBot_4.7.9-portable.tar.xz mkdir -p ~/filebot && tar xf ~/filebot.tar.xz -C ~/filebot rm -rf ~/filebot.tar.xz
If your binary directory (~/bin) is not in PATH you'll need to configure FileBot to find the Java binary in ~/bin. This can be done with:
sed -i "s|java -Dunix|~/bin/java -Dunix|g" ~/filebot/filebot.sh
A better alternative is to simply add ~/bin to PATH with the following commands:
echo "PATH=~/bin:$PATH" > ~/.bashrc source ~/.bashrc
Running the FileBot script can be done with the following command:
That command with no other options will display the usage guide:
FileBot 4.7.9 (r4984) / Java(TM) SE Runtime Environment 1.8.0_141 (headless) --mode [Rename, Subtitles, SFV] or : Open GUI in single panel mode / [interactive] Enable CLI interactive mode -rename : Rename media files --db [TheTVDB, AniDB] or [TheMovieDB] : Database or [AcoustID, ID3] or [xattr] --order [Airdate, Absolute, DVD] : Episode order --action [move, copy, keeplink, : Rename action symlink, hardlink, reflink, test] --conflict [skip, override, auto, : Conflict resolution index, fail] --filter expression : Filter expression --format expression : Format expression -non-strict : Enable advanced matching and more aggressive guessing -get-subtitles : Fetch subtitles --q series/movie title : Force lookup query --lang 3-letter language code : Language -check : Create/Check verification files --output /path : Output path --encoding [UTF-8, Windows-1252] : Output character encoding -list : Fetch episode list -mediainfo : Get media info -revert : Revert files -extract : Extract archives -script [fn:name] or [dev:name] or : Run Groovy script [/path/to/script.groovy] --log [all, fine, info, warning] : Log level --log-file /path/to/log.txt : Log file --log-lock [yes, no] : Lock log file -r : Recursively process folders -clear-cache : Clear cached and temporary data -clear-prefs : Clear application settings -unixfs : Do not strip invalid characters from file paths -no-xattr : Disable extended attributes -version : Print version identifier -help : Print this help message --def [name=value] : Define script variables
The following command would instruct FileBot to search TheTVDB database for results and rename the files in ~/TV as per the results of the database search:
~/filebot/filebot.sh -rename --db TheTVDB "$HOME/TV"
There are a couple of things to note here:
- You must put " around the path to your media;
- The ~ character for HOME can confuse FileBot - use $HOME instead.
- I get the error Exception in thread "main" java.lang.UnsupportedClassVersionError: net/filebot/Main : Unsupported major.minor version 52.0
- Make sure that you've installed Java and that ~/bin is part of the PATH variable (see the installation notes above).
- I get the error Multiple options: Advanced auto-selection requires -non-strict matching: 
- Use the option -non-strict when running the FileBot script.
rm -rf ~/filebot