diff --git a/source/net/filebot/StandardRenameAction.java b/source/net/filebot/StandardRenameAction.java index 8e4e72ac..1479a4b9 100644 --- a/source/net/filebot/StandardRenameAction.java +++ b/source/net/filebot/StandardRenameAction.java @@ -108,21 +108,6 @@ public enum StandardRenameAction implements RenameAction { } }, - RENAME { - - @Override - public File rename(File from, File to) throws Exception { - // rename only the filename - File dest = new File(from.getParentFile(), to.getName()); - - if (!from.renameTo(dest)) { - throw new IOException("Failed to rename " + from + " to " + dest); - } - - return dest; - } - }, - TEST { @Override @@ -148,8 +133,12 @@ public enum StandardRenameAction implements RenameAction { return "Symlink"; case HARDLINK: return "Hardlink"; + case DUPLICATE: + return "Hardlink or Copy"; + case REFLINK: + return "Lightweight Copy"; default: - return null; + return "Test"; } } diff --git a/source/net/filebot/cli/ScriptShellBaseClass.java b/source/net/filebot/cli/ScriptShellBaseClass.java index 94759b3a..b8b4f828 100644 --- a/source/net/filebot/cli/ScriptShellBaseClass.java +++ b/source/net/filebot/cli/ScriptShellBaseClass.java @@ -529,9 +529,11 @@ public abstract class ScriptShellBaseClass extends Script { if (obj instanceof RenameAction) { return (RenameAction) obj; } + if (obj instanceof CharSequence) { return StandardRenameAction.forName(obj.toString()); } + if (obj instanceof Closure) { return new RenameAction() { @@ -542,7 +544,12 @@ public abstract class ScriptShellBaseClass extends Script { Object value = closure.call(from, to); // must return File object, so we try the result of the closure, but if it's not a File we just return the original destination parameter - return value instanceof File ? (File) value : to; + return new File(value.toString()); + } + + @Override + public boolean canRevert() { + return false; } @Override