[DOCS] --apply post-processing features

Running FileBot from the console, Groovy scripting, shell scripts, etc
User avatar
The Source
Posts: 22967
Joined: 16 Nov 2011, 08:59
Location: Taipei

[DOCS] --apply post-processing features

Post by rednoah »

Apply Post-Processing Features via Rename

Post-processing features can be enabled for newly renamed files via Icon Renaming SettingsIcon Post Process.


Apply Post-Processing Features via Filter

Post-processing features can be applied to an existing set of files via AttributesIcon Apply assuming that xattr metadata is readily available.

Apply Post-Processing Features via the --apply option from Terminal

--apply can be added to -rename, -find and -mediainfo commands to enable common post-processing tasks for newly renamed files or previously renamed files:

Shell: Select all

--apply artwork nfo url metadata

Fetch artwork

Fetch artwork for movie / series / season folders:

Shell: Select all

--apply artwork
:idea: The --apply artwork cover nfo url post-processing features assume a {plex} compatible folder structure.

Fetch cover images

Fetch folder.jpg files for movie / series folders:

Shell: Select all

--apply cover

Export NFO files

Generate *.nfo files for movie / series folders:

Shell: Select all

--apply nfo

Export URL files

Generate *.url files for movie / series folders:

Shell: Select all

--apply url

Export .xattr folders

Generate hidden .xattr folders with xattr metadata in plain file format:

Shell: Select all

--apply metadata
:idea: The FileBot Xattr Metadata Scanners & Plug-ins for Plex uses .xattr folders to avoid cross-platform and cross-device limitations of native filesystem xattr.

Import companion files

Move along companion files (e.g. trailers, subtitles, artwork, etc) along from the original folder to the new location:

Shell: Select all

--apply import

Transcode subtitle files

Transcode existing plain text subtitle files to SRT format / UTF-8 plain text encoding without BOM:

Shell: Select all

--apply srt

Fetch subtitle files

Fetch missing subtitle files via Exact Search: Lookup by Hash in the currently selected language:

Shell: Select all

--apply subtitles

Set Finder tags

Set Finder tags on macOS:

Shell: Select all

--apply finder

Set creation date

Set Last-Modified and Creation-Date to the episode airdate / movie release date:

Shell: Select all

--apply date

Set permissions

Set POSIX permissions to all-readable / user-writable (i.e. rw-r--r--)[/color] on Linux:

Shell: Select all

--apply chmod

Set time stamp

Set Last-Modified to the current date and time:

Shell: Select all

--apply touch

Reveal files

Reveal newly moved / copied files in Windows Explorer / Finder / File Manager:

Shell: Select all

--apply reveal

Prune empty folders

Delete left-behind empty folders:

Shell: Select all

--apply prune

Delete clutter files

Delete left-behind clutter files and folders:

Shell: Select all

--apply clean

Write media tags

Write mkv and mp4 tags via the mkvpropedit (i.e. mkvtoolnix package) or AtomicParsley (i.e. atomicparsley package) command-line tools:

Shell: Select all

--apply tags
:idea: If mkvpropedit or AtomicParsley are not in the $PATH then you may need to configure the absolute path to the executable:

Shell: Select all

filebot -script fn:properties --def net.filebot.postprocess.mkvpropedit="C:/Tools/mkvpropedit.exe" --def net.filebot.postprocess.AtomicParsley="C:/Tools/AtomicParsley.exe"
:!: Embedded MP4 or MKV tags are rare. There is no established standard for tagging video files. MP4 tagging usually (but not necessarily) refers to iTunes-style metadata. MKV tagging (1, 2) is generally useless because there is not established standard.

:!: Be aware of symlinks and hardlinks (i.e. one file accessible via multiple different file paths) when modifying file contents.

Refresh file services

Refresh file services and media library:

Shell: Select all

--apply refresh
** only supported on Synology NAS and QNAP NAS platforms

Run custom post-processing scripts

Run custom Groovy scripts on newly processed files:

Shell: Select all

--apply '{ source, target, metadata -> println "$source | $target | $metadata" }'

Shell: Select all

--apply /path/to/apply.groovy
:arrow: Please read custom post-processing scripts for example scripts.
:idea: Please read the FAQ and How to Request Help.