Ошибка копирования фотографии, выбранной пользователем, с помощью AppleScript

Я пишу на AppleScript, чтобы сделать фотографию, я выбираю положить ее в /System/Library/PrivateFrameworks/LoginUIKit.framework/Versions/A/Frameworks/LoginUICore.framework/Resources, хотя всякий раз, когда я запускаю скрипт, он выдает ошибку, говоря

"340:354: ошибка выполнения: Finder получил ошибку: не удается установить файл (псевдоним"Macintosh HD: пользователи: Самуил: Изображения:4.jpg") в папку"Macintosh HD: Система: Библиотека:PrivateFrameworks:LoginUIKit.framework: Версии:A: Каркасы:LoginUICore.framework: Ресурсы ". (-10006) (1)"

osascript -e 'set this_file to choose file
display dialog "Login Walls is now going to attempt to change the wallpaper." buttons {"Okay"} default button "Okay"
tell application "Finder"
    set apple to "apple.png"
    copy folder "Macintosh HD:System:Library:PrivateFrameworks:LoginUIKit.framework:Versions:A:Frameworks:LoginUICore.framework:Resources" to file this_file
end tell'

Приведенный выше фрагмент взят из файла.sh, который вызывается из сценария апплета с правами администратора.

Что мне действительно нужно сделать, так это скопировать и переименовать файл, если можно подсказать, как это сделать.

1 ответ

Несколько вещей... во-первых, в Finder нет команды "копировать". Словарь Finder говорит нам, что копия не доступна. Это никогда не было доступно. Вместо этого используйте команду "duplicate". Во-вторых, вы хотите скопировать файл в папку. В своем коде вы копируете папку в файл, который не имеет смысла. В-третьих, this_file уже является файлом с псевдонимом, поэтому слово "file" перед this_file в команде копирования не требуется. Вам нужно использовать слово файл или папку только тогда, когда ваш путь в строковом формате (как для вашей папки). Это не относится к this_file, поэтому удалите файл word из команды.

Удачи.

Другие вопросы по тегам