2016-11-11 4 views
0

У меня есть AppleScript экспортируется как файл .app, потому что мне это нужно, чтобы работать на журнал вотносительный путь к AppleScript экспортироваться как .app

Это мой код:.

repeat 
    tell application "System Events" 
     repeat with desktopNumber from 1 to count of desktops 
      tell desktop desktopNumber 
       set picture to "~/Desktop/script/img.jpg" 
      end tell 
     end repeat 
    end tell 
end repeat 

Путь к сценарий ~/Desktop/script/script.app/Содержание/Ресурсы/Сценарии/main.scpt

Я хотел бы поместить изображение в папку «Ресурсы» и сделать путь относительным, чтобы я мог разместить в любом месте, не меняя сценарий, поэтому я попробовал

set desktopPicture to ((container of container of (path to me)) as text) & "/img.jpg" 
repeat 
    tell application "System Events" 
     repeat with desktopNumber from 1 to count of desktops 
      tell desktop desktopNumber 
       set picture to desktopPicture 
      end tell 
     end repeat 
    end tell 
end repeat 

Но это дает мне ошибку Can’t make container of container of alias \"Macintosh HD:Users:Me:Desktop:script:script.app:Contents:Resources:Scripts:main.scpt\" into type text.

ответ

0

System Events не в состоянии расширить тильды ~.

Если вы хотите обратиться к ~/Desktop/script/img.jpg, используя относительные пути, вы можете использовать

tell application "System Events" to set desktopPicture to file "img.jpg" of folder "script" of desktop folder 

или

set desktopPicture to alias ((path to desktop folder as text) & "script:img.jpg") 

Считают, что в обоих случаях AppleScript выдаст ошибку, если файл не существует.

Смежные вопросы