1

Использование и Automator Service, а также AppleScript, который доступен для всех и существует в этом потоке, но с "GUI" вокруг. Решение работает хорошо, однако я не получаю ожидаемого поведения. То же самое, без изменений, копирует папку в папку 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

2 ответа2

0

Попробуйте вместо этого использовать cp -Rf . То же не похоже на то, что вы пытаетесь сделать. Также убедитесь, что исходный путь не заканчивается на «/». cp скопирует содержимое каталога как ditto, если путь оканчивается на «/».

0

Я понятия не имею, как заставить это работать с AppleScript, но предполагая, что вы хотите скопировать каталог foo в bar с тем ditto созданием bar, тогда

    ditto foo bar/foo

Вы также можете создавать промежуточные каталоги. В качестве примера вы хотите скопировать каталог biz в иерархическую панель /foo /baz. Директории bar и foo уже созданы

    ditto biz bar/foo/baz/biz

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .