I am a little bit confused with post process custom script, and some options here.
I thought every post process options I ticked will automatically run after renaming files when I click on rename button, but it is not.
I am using custom script to create a nfo file.
When I test it by Ctrl + R in script editor window, my custom script runs fine, and my nfo file is well created with proper content at the same location of my media file.
But when I select my episode, clic on fetch data from tvdb, and clic rename, only the media file is renamed and no file is created by post processing script
I understood xattr data must be present, but I assume those data are retrieved while renaming ?
Even if try to rename same file again and again, no file is created, except if I select posts process options, my script and do Ctrl + R.
Does it work only in command line mode ?
If not, can you help me in checking prerequisites or tell me what I'm doing wrong ?
The only 3 options that works automatically are export .xattr folders, update timestamp and fetch thumbnails, all others options remain uneffective in the UI.
I have the following warning ONLY when I tick my script.
Error: Select all
Jan 08, 2026 10:45:07 PM java.util.stream.ForEachOps$ForEachOp$OfRef accept
AVERTISSEMENT: Undefined Variable: java.lang.NullPointerException: Cannot invoke method or() on null object at Builder$1::toString < ScriptBaseClass::write < ScriptBaseClass::XML < ApplyClosure::apply < ApplyStep::apply (D:\Tv Shows\Violet Evergarden (2018) [tvdbid=330139]\Specials\Violet Evergarden (2018) - S00E01 - OVA - Surely, Someday You Will Understand Love.mkv)
I am using :
Code: Select all
FileBot 5.2.0 (r10714)
JNA Native: 7.0.0
MediaInfo: 25.07
7-Zip-JBinding: 16.02
Tools: fpcalc/1.5.0
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2025-09-04 (r1016)
Groovy: 4.0.28
JRE: OpenJDK Runtime Environment 21.0.4
JVM: OpenJDK 64-Bit Server VM
CPU/MEM: 24 Core / 17 GB Max Memory / 206 MB Used Memory
OS: Windows 11 (amd64)my episode is in D:\Tv Shows\Violet Evergarden (2018) [tvdbid=330139]\Specials
my script is
Groovy: Select all
{ source, target ->
XML(target.dir / target.nameWithoutExtension + '.nfo') {
'?xml version="1.0" encoding="utf-8" standalone="yes"?'{}
episodedetails {
plot()
outline()
lockdata(false)
lockedfields(SortParentIndexNumber|SortIndexNumber)
dateadded()
title($t)
rating()
year($y)
sorttitle($t)
imdbid()
tvdbid($episode.info.raw.id)
runtime($runtime)
'uniqueid type="tvdb"'($episode.info.raw.id)
'uniqueid type="imdb"'()
episode($e00)
season($s00)
aired($d)
displayepisode($episode.info.raw.airsBeforeEpisode)
displayseason($episode.info.raw.airsBeforeSeason)
fileinfo {
streamdetails {
target.mediaInfo.Video.each{ v ->
video {
codec(v.'Encoded_Library/Name' ?: v.'CodecID/Hint' ?: v.'Format')
aspect(v.'DisplayAspectRatio')
width(v.'Width')
height(v.'Height')
}
}
target.mediaInfo.Audio.each{ a ->
audio {
codec(a.'CodecID/Hint' ?: a.'Format')
language(a.'Language/String3')
channels(a.'Channel(s)_Original' ?: a.'Channel(s)')
}
}
}
}
}
}
}

