Usando um Automator Service e um AppleScript que está disponível e existe emeste tópicoapenas uma "GUI" em torno do mesmo. A solução funciona bem, porém não estou obtendo o comportamento que esperava. Ditto, sem modificação, copia uma pasta para uma pasta de destino e cria a pasta se ela não existir. O comportamento que obtenho com o serviço é que o conteúdo é copiado para o destino. Alguém pode me ajudar a modificar o applescript para que a pasta seja copiada para o destino e não o conteúdo para o destino? Segue roteiro:
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
Responder1
Tente usar cp -Rf
em vez disso. Ditto não parece apoiar o que você está tentando fazer. Além disso, certifique-se de que o caminho de origem não termine com "/". cp copiará o conteúdo do diretório como idem se o caminho terminar em "/".
Responder2
Não tenho ideia de como fazer isso funcionar com AppleScript, mas supondo que você deseja copiar o diretório foo para bar ditto
criando bar então
ditto foo bar/foo
Você também pode criar diretórios intermediários. Por exemplo, você deseja copiar o diretório biz na hierarquia bar/foo/baz. Os diretórios bar e foo já foram criados então
ditto biz bar/foo/baz/biz