如何修改 Automator Service ditto 指令?

如何修改 Automator Service ditto 指令?

使用 Automator 服務以及紅色可用且存在於這個線程只是一個“GUI”,周圍同上。該解決方案效果很好,但是,我沒有得到我預期的行為。同上,無需修改,將資料夾複製到目標資料夾並建立該資料夾(如果不存在)。我透過該服務得到的行為是將內容複製到目的地。有人可以幫助我將 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替代。同上似乎不支持你想做的事情。另外,請確保來源路徑不以“/”結尾。如果路徑以「/」結尾,cp 將像同上一樣複製目錄的內容。

答案2

我不知道如何使用 AppleScript 來完成這項工作,但假設您希望透過建立 bar 將目錄 foo 複製到 barditto然後

    ditto foo bar/foo

您也可以建立中間目錄。例如,您希望複製層次結構 bar/foo/baz 中的目錄 biz。目錄 bar 和 foo 已經創建了

    ditto biz bar/foo/baz/biz

相關內容