Page 1 of 1

@file syntax for reading cmdline args from text files

Posted: 07 Dec 2015, 07:17
by rednoah
Passing complex arguments that contain lots of special characters like $!%'" to a command-line tool can be tricky. Correctly escaping such arguments for cmd or bash can get very painful very quickly.

Argument List:

FileBot allows you specify argument files via @/path/to/file syntax, so you can pass in your complex command-line arguments via separate text files line by line without having to worry about quoting or escaping anything.

e.g. @file usage

Code: Select all

filebot @/path/to/args.txt
e.g. /path/to/args.txt (plain text file with system encoding)

Code: Select all

:!: DO NOT quote "arguments" in @files. Your arguments are "quoted" implicitly by the new line separator.

:!: DO NOT use Microsoft tools such as Notepad or Word to edit plain text files. Use tools such as Notepad++ or Sublime Text instead.

Option Value:

The --format, --mapper, --filter and --file-filter options accept Groovy expressions literally, or as *.groovy UTF-8 encoded plain text files:

e.g. --format *.groovy (UTF-8 encoded plain text file)

Code: Select all

--format /path/to/MovieFormat.groovy

Binding Value:

You may also pass --def script binding values via UTF-8 encoded plain text files. That's handy when passing in complex multi-line formats.

e.g. --def [email protected] usage

Code: Select all

filebot -script fn:amc /input --output /output --def [email protected]/path/to/MovieFormat.groovy
e.g. /path/to/MovieFormat.groovy (UTF-8 encoded plain text file)

Code: Select all

[ allOf {ny}
        { allOf {vf}
, allOf {ny}
]*.findResults { 
    if (it) it.toString()
}*.join(' ')