vadian's answer работает хорошо, но стоит отметить, что:
вы можете получить доступ к хорошо известным папкам даже в по умолчанию контексте, вне контекст System Events
и Finder
; например .:
path to desktop
path to home folder
- использования, например,
POSIX path of (path to home folder)
получить путь POSIX.
используя контекст System Events
, как правило, предпочтительнее Finder
контексте, по соображениям производительности и предсказуемости.
С произвольной целевой папке, используя путь POSIX:
tell application "System Events"
set targetFolder to alias "/Users/jdoe/Desktop"
# equivalent of: set targetFolder to (path to desktop)
set targetFile to first file of targetFolder whose name starts with "thisFile"
end tell
tell application "Preview" to open targetFile
В качестве альтернативы, если вы знаете свой путь вокруг оболочки, вы можете попробовать:
set targetFilePosixPath to do shell script "fls=(~/Desktop/*.pdf); printf %s \"$fls\""
tell application "Preview" to open (POSIX file targetFilePosixPath as alias)
Я действительно делаю нужно место var там, поскольку Desktop - это только мое временное место тестирования ... – user3101259
Я обновил ответ. – vadian