Como faço para modificar o comando ditto do Automator Service?

1

Usando o Serviço do Automatizador e um AppleScript que está disponível gratuitamente e existe em este segmento de, mas um" GUI "em torno de ditto. A solução funciona bem, no entanto, não estou obtendo o comportamento esperado. Idem, 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 é o conteúdo é copiado para o destino. Alguém pode me ajudar a obter o applescript modificado para que a pasta seja copiada para o destino e não o conteúdo para o destino? Script segue:

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
    
por Craig Lindsey 02.06.2015 / 21:19

2 respostas

0

Tente usar cp -Rf . Ditto não parece apoiar o que você está tentando fazer. Além disso, verifique se o caminho de origem não termina com um "/". cp copiará o conteúdo do diretório como idem se o caminho terminar em "/".

    
por 24.06.2015 / 19:03
0

Eu não tenho idéia de como fazer isso funcionar com o AppleScript, mas assumindo que você deseja copiar o diretório foo para barrar com a barra de criação ditto , 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 barra de hierarquia / foo / baz. A barra de diretórios e foo já foram criados então

    ditto biz bar/foo/baz/biz
    
por 24.06.2015 / 20:05