filebot/website/scripts/replace.groovy

29 lines
765 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
}
if (!nfile.exists()) {
println action.rename(it, nfile)
} else {
println "Skipped $nfile"
}
}
}
}