¿Cómo puedo modificar el comando ídem de Automator Service?

¿Cómo puedo modificar el comando ídem de Automator Service?

Usando un servicio Automator y un AppleScript que está disponible en rojo y existe eneste hilode sólo una "GUI" alrededor de lo mismo. La solución funciona bien, sin embargo, no obtengo el comportamiento que esperaba. Lo mismo, sin modificaciones, copia una carpeta a una carpeta de destino y crea la carpeta si no existe. El comportamiento que obtengo con el servicio es que los contenidos se copian en el destino. ¿Alguien puede ayudarme a modificar el Applecript para que la carpeta se copie en el destino y no el contenido en el destino? El guión sigue:

on run {input, parameters}
    set dest to choose folder with prompt "select destination:"
    set dest_path to (POSIX path of dest) as text
    set src_paths to ""
    repeat with idx from 1 to count (input)
        set src_paths to src_paths & (quoted form of (POSIX path of item idx of input as text)) & " "
    end repeat
    set cmd to "ditto " & src_paths & quoted form of dest_path
    do shell script cmd
end run

Respuesta1

Intenta usar cp -Rfen su lugar. Lo mismo no parece respaldar lo que intentas hacer. Además, asegúrese de que la ruta de origen no termine con "/". cp copiará el contenido del directorio como lo mismo si la ruta termina en "/".

Respuesta2

No tengo idea de cómo hacer que esto funcione con AppleScript, pero suponiendo que desee copiar el directorio foo a la barra con dittola barra de creación, entonces

    ditto foo bar/foo

También puede crear directorios intermedios. Como ejemplo, desea copiar el directorio biz en la barra de jerarquía/foo/baz. Los directorios bar y foo ya han sido creados entonces

    ditto biz bar/foo/baz/biz

información relacionada