25 lines
689 B
Groovy
25 lines
689 B
Groovy
|
// filebot -script fn:replace --action copy --filter [.]srt$ --def e=[.](eng|english) r=.en
|
||
|
|
||
|
// imports
|
||
|
import net.sourceforge.filebot.StandardRenameAction
|
||
|
|
||
|
// parameters
|
||
|
def action = StandardRenameAction.forName(_args.action)
|
||
|
def accept = { f -> _args.filter ? f.path =~ _args.filter : true }
|
||
|
|
||
|
// rename
|
||
|
args.getFiles{ accept(it) }.each{
|
||
|
if (it.path =~ e) {
|
||
|
def nfile = new File(it.path.replaceAll(e, r))
|
||
|
|
||
|
// override files only when --conflict override is set
|
||
|
if (!it.equals(nfile)) {
|
||
|
if ((nfile.exists() || _args.conflict == 'override') && action != StandardRenameAction.TEST) {
|
||
|
nfile.delete(); // resolve conflict
|
||
|
}
|
||
|
|
||
|
println action.rename(it, nfile)
|
||
|
}
|
||
|
}
|
||
|
}
|