2015-06-29 4 views
0

Как использовать ~ в следующем AppleScript?Использование «~» с помощью пути POSIX в AppleScript

info for POSIX path of "Users/[User]/Pictures" 

Сценарий должен быть универсальным, но если я заменю Users/[User] с ~, так что сценарий выглядит, что

info for POSIX path of "~/Pictures" 

Я получаю сообщение об ошибке, что каталог не доступен.

Я благодарен за помощь.

ответ

0

Нет необходимости использовать тильду (~) в AppleScript, которая является ярлыком для домашней папки текущего пользователя в оболочке.

Есть много относительных путей в AppleScript

path to desktop 

является псевдонимом спецификатор для рабочего стола папку текущего пользователя, что эквивалентно

alias "[startup volume]:Users:[current user]:Desktop" 

Относительный путь к папке снимков является

path to pictures folder 

другие дорожки

path to music folder 
path to applications folder 
path to home folder 

т.д.

Пожалуйста, смотрите в словарь стандартных дополнений для дальнейших путей

Для некоторых относительных путей есть параметр, чтобы указать домен

path to library folder from user domain -- alias "[startup volume]:Users:[current user]:Libary" 
path to library folder from local domain -- alias "[startup volume]:Library" 
path to library folder from system domain -- alias "[startup volume]:System:Library" 

info for является очень старой частью Стандартных Дополнений. Он не рекомендуется с Leopard, но он все еще работает. Самая простая форма является передать псевдоним спецификатор:

info for (path to pictures folder) 
+0

И как я могу сделать путь, когда у меня есть папка на рабочем столе с первым кодом? – user121028

+0

'alias ((путь к рабочему столу как текст) &" folderName: ")' трейлинг-двоеточие имеет решающее значение, если вы хотите добавить имя файла – vadian

1

~ является раковина вещи, так что он не будет работать в этом контексте, но есть гораздо более простой способ так или иначе, используя path to:

info for POSIX path of (path to pictures folder) 
0

Не уверен, что этот ответ действительно универсален, но так как ~ расширяется оболочкой bash, но я попытался использовать результат расширения как путь, и он сработал.

info for POSIX path of (do shell script "echo ~/Pictures") 

{имя: "Pictures", дата создания: дата "Среда, 8 июля 2015 в 6:33:09 PM", дата изменения: дата «Среда, 8 февраль 2017 в 2: 11:52 PM ", размер: 102529438, папка: true, alias: false, папка пакета: false, visible: true, расширение скрыто: false, расширение имени: отсутствует значение, отображаемое имя:" Pictures ", default application: alias" Macintosh HD: Система: Библиотека: CoreServices: Finder.app: ", kind:" Folder ", окно папки: {0, 0, 0, 0}, тип файла:" ", создатель файла:" "}

Это тот же результат для меня, как так

info for POSIX path of (path to pictures folder) 

для моего случая, расширяя ~/ это полезно, потому что ситуация ищет папку ~/, которая не является стандартом для Mac. Пример

info for POSIX path of (do shell script "echo ~/Projects") 

{имя : «Проекты», дата создания: «Пятница, 17 июня 2016 года в 11:08:50», дата модификации: дата «Среда, 8 февраля 2017 года в 2:30:08», размер: 130670100, папка : true, псевдоним: false, папка пакета: false, visible: true, extension hidden: false, расширение имени: отсутствует значение, отображаемое имя: «Проекты», приложение по умолчанию: псевдоним «Macintosh HD: System: Library: CoreServices: Finder. app: ", kind:" Folder ", окно папки: {0, 0, 0, 0}, тип файла:" ", создатель файла:" "}

Но то же самое не удалось в соответствии с предыдущим методом ,

info for POSIX path of (path to Projects folder) 

Ошибка синтаксиса
Ожидаемое "" но нашел свойство.

Обновлено после комментария

Это работал в «нестандартном» папку в домашней директории.

info for alias ((path to home folder as text) & "Projects:") 
+0

«путь к проектам» не является стандартной папкой. В любом случае стандартная папка не начинается с заглавной буквы. И 'info for' не требует пути POSIX. Это также верно: 'info for (путь к папке с картинками)' – vadian

+0

спасибо. Я снова попытался объединить решения для поиска нестандартной папки. – ndasusers

+0

Практически нет необходимости использовать тильду в AppleScript вообще – vadian

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