Выявление в искателе не работает с объединенной строкой - PullRequest
0 голосов
/ 21 марта 2019

Почему это работает:

tell application "Finder"
    activate
    reveal POSIX file ("/Users/Torben/Library/Mobile Documents/com~apple~CloudDocs/MyFolder/file.png")
end tell

... но не это

tell application "Finder"
    activate
    reveal POSIX file ("/Users/Torben/Library/Mobile Documents/com~apple~CloudDocs/MyFolder/" & "file.png")
end tell

А как мне заставить его работать, если я хочу объединить путь (строку) с переменной (строка)?

Ответы [ 3 ]

0 голосов
/ 21 марта 2019

попробуйте объединить строки

reveal POSIX file (("/Users/Torben/Library/Mobile Documents/com~apple~CloudDocs/MyFolder/" & "file.png") as text)
0 голосов
/ 21 марта 2019

Системные события намного лучше справляются с путями POSIX, но это еще одна из этих странностей AppleScript. POSIX file будет работать вне Искателя tell оператора:

set x to POSIX file (pathVariable & otherPathVariable)
tell application "Finder"
  activate
  reveal x
end tell

но в a Искатель tell заявление, которое необходимо использовать в качестве принуждения:

tell application "Finder"
  activate
  reveal (pathVariable & otherPathVariable) as POSIX file
end tell
0 голосов
/ 21 марта 2019

Я рекомендую использовать относительные пути HFS. Первая строка указывает на папку library текущего пользователя.

set libraryFolder to path to library folder from user domain as text
tell application "Finder"
    reveal file (libraryFolder & "com~apple~CloudDocs:MyFolder:" & "file.png")
end tell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...