Automator Service ditto 명령을 어떻게 수정합니까?

Automator Service ditto 명령을 어떻게 수정합니까?

빨간색으로 사용 가능하고 존재하는 Automator Service 및 AppleScript 사용이 스레드하지만 "GUI"도 마찬가지입니다. 솔루션은 잘 작동하지만 예상한 동작을 얻지 못합니다. Ditto는 수정 없이 폴더를 dest 폴더에 복사하고 폴더가 없으면 폴더를 만듭니다. 서비스를 통해 얻는 동작은 내용이 대상에 복사되는 것입니다. 폴더가 대상에 내용이 아닌 대상에 복사되도록 AppleScript를 수정하는 데 누군가 도움을 줄 수 있습니까? 스크립트는 다음과 같습니다:

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

답변1

대신 사용해 보세요 cp -Rf. Ditto는 당신이 하려는 일을 지원하지 않는 것 같습니다. 또한 소스 경로가 "/"로 끝나지 않는지 확인하세요. cp는 경로가 "/"로 끝나는 경우 ditto와 같은 디렉터리 내용을 복사합니다.

답변2

AppleScript를 사용하여 이 작업을 수행하는 방법을 모르지만 dittobar를 생성하여 foo 디렉토리를 bar에 복사한다고 가정합니다.

    ditto foo bar/foo

중간 디렉터리를 만들 수도 있습니다. 예를 들어 bar/foo/baz 계층 구조에서 biz 디렉토리를 복사하려고 합니다. bar 및 foo 디렉토리가 이미 생성되었습니다.

    ditto biz bar/foo/baz/biz

관련 정보