About
++ FileBot makes scripting and automation as easy as it gets. Just script everything in Groovy + instead of bothering with cumbersome cmd and bash scripts. It's the same on all platforms and much more powerful. + The provided functions are the same as in the CLI and parameter usage + is also exactly the same. +
+Examples
+Running Scripts
+
+ filebot -script "path/to/script.groovy" args...
+ Execute a given Groovy script. Parameters defined on the cmdline when starting a script will serve as default parameters
+ while running that script. Find scripts for common tasks here.
+
Example Scripts
+ +args.eachMediaFolder {
+ getSubtitles(folder:it)
+ rename(folder:it)
+ compute(file:it.listFiles().findAll{ it.isVideo() })
+}
Fetch subtitles, rename and compute checksums for all media folders in the file hierarchy.['E:/tvshows'].eachMediaFolder{ rename(folder:it, db:'tvrage') }
+['E:/anime'].eachMediaFolder{ rename(folder:it, db:'anidb') }
+['E:/movies'].eachMediaFolder{ rename(folder:it, db:'opensubtitles') }
+
Run rename on different folder hierarchies using different episode/movie datasources.args.getFiles().findAll{ it.isVideo() }
+.sort{ a, b -> a.name.compareTo(b.name) }
+.each{ println getMediaInfo(file:it, format:'{fn} [{vf} {vc} {af}]') }
+
Print media info for all video files using the given format pattern.+ Function Reference + source +
+ +Rename media files
+File[] rename(folder|file, query, format, db, lang, strict)+
-
+
- Parameters: +
- folder - process media files in this folder +
- file - process these media files +
- query - force series/movie name, auto-detect if not set +
- format - episode/movie naming scheme +
- db - episode/movie database +
- lang - preferred language for episode/movie titles +
- strict - turn on/off strict matching +
Fetch subtitles for media files
+File[] getSubtitles(folder|file, query, lang, output, encoding)+
-
+
- Parameters: +
- folder - process media files in this folder +
- file - process these media files +
- query - series/movie name +
- lang - subtitle language +
- output - force output format (e.g. srt) +
- encoding - force output charset +
File verification
+boolean check(folder|file)+
-
+
- Parameters: +
- folder - check the sfv/md5/sha1 files in this folder +
- file - check these sfv/md5/sha1 +
+
File compute(folder|file, output, encoding)+
-
+
- Parameters: +
- folder - compute checksums for files in this folder +
- file - compute checksums for these files +
- output - absolute or relative output file or just output format (sfv, md5 or sha1) +
- encoding - output charset, defaults to UTF-8 +
Other
+String[] fetchEpisodeList(query, format, db, lang)+
-
+
- Parameters: +
- query - tv series name +
- format - episode naming scheme +
- db - episode database +
- lang - preferred language for episode titles +
+
String getMediaInfo(file, format)+
-
+
- Parameters: +
- file - get info for this file +
- format - media naming scheme +