Mit einem Automator Service und einem AppleScript, das bereits verfügbar ist und aufdieser Threadvon aber einer „GUI“ um dito. Die Lösung funktioniert gut, ich erhalte jedoch nicht das erwartete Verhalten. Dito kopiert ohne Änderung einen Ordner in einen Zielordner und erstellt den Ordner, wenn er nicht existiert. Das Verhalten, das ich mit dem Dienst erhalte, ist, dass der Inhalt in das Ziel kopiert wird. Kann mir jemand helfen, das Applescript so zu ändern, dass der Ordner in das Ziel kopiert wird und nicht der Inhalt in das Ziel? Das Skript lautet wie folgt:
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
Antwort1
Versuchen Sie es cp -Rf
stattdessen mit . Ditto scheint das, was Sie versuchen, nicht zu unterstützen. Stellen Sie außerdem sicher, dass der Quellpfad nicht mit einem "/" endet. cp kopiert den Inhalt des Verzeichnisses wie ditto, wenn der Pfad mit einem "/" endet.
Antwort2
Ich habe keine Ahnung, wie ich das mit AppleScript zum Laufen bringen kann, aber vorausgesetzt, Sie möchten das Verzeichnis foo nach bar kopieren und ditto
dann bar erstellen
ditto foo bar/foo
Sie können auch Zwischenverzeichnisse erstellen. Als Beispiel möchten Sie das Verzeichnis biz in die Hierarchie bar/foo/baz kopieren. Die Verzeichnisse bar und foo wurden dann bereits erstellt
ditto biz bar/foo/baz/biz