ACTUALIZAR * recortó el código un poco y corrigió la ruta
Desde que pediste AppleScript ...
on run {input, parameters}
tell application "Finder"
set thefolderPath to "folder1:folder2:"
set mycontainer to (path to me)
set movePath to folder thefolderPath of container of (path to me)'s container as alias
duplicate input to movePath
end tell
end run
Esto también elimina la acción de copia, ya que la duplicación también se realiza aquí.
ACTUALIZACIÓN 2
Con esta versión. No importa dónde está la aplicación. La ruta se determina según dónde están los archivos.
on run {input, parameters}
set thefolderPath to "folder1:folder2:"
tell application "Finder"
set thisItem to item 1 of input as alias
set movePath to folder thefolderPath of container of (thisItem)'s container as alias
duplicate input to movePath
end tell
end run
ACTUALIZACIÓN 3
Esta versión es la misma que la actualización 2. Pero probará tu carpeta1 y carpeta2.
Si alguna de las carpetas no existe, las creará y les moverá los archivos.
Si solo folder2 no existe. Entonces solo hará esa carpeta dentro de la carpeta1. Lo que significa que los elementos existentes en la carpeta 1 son seguros.
on run {input, parameters}
set thefolderPath to "folder1/folder2/"
tell application "Finder"
set thisItem to item 1 of input as alias
set movePath to container of (thisItem)'s container as alias
set theTestPath to ((POSIX path of movePath) & "/" & thefolderPath)
if (do shell script "/bin/test -e " & quoted form of theTestPath & " ; echo $?") is "1" then
-- 1 is false
do shell script "/bin/mkdir -p " & quoted form of theTestPath
end if
set theActualPath to (POSIX file theTestPath) as alias
duplicate input to theActualPath
end tell
end run