2014-10-02 2 views
0

Я пытаюсь написать сценарий, который получит путь выбранного файла и введите его в терминал для меня. Я новичок в написании сценариев, так что это все, что у меня есть до сих пор - ошибки будут приятными и очевидными!Получить путь к файлу, использовать в качестве переменной в нажатой клавише (applescript)

набора путь_к_файл в (путь текущего выбранного файла или перетащить и упал файл ...?)

активировать приложение «Терминал»

СКАЖИТЕ приложения «Системные события» на нажатие клавиши "./aerender -проект" + " '$ путь_к_файлу'"

сКАЖИТЕ приложения "Системные события" для нажатия клавиши возврата **

Я знаю, что это совершенно неправильно, но, надеюсь, это дает представление о том, что я пытаюсь сделать.

Заранее благодарен!

ответ

0

Вы можете напрямую подключить терминал ... нет необходимости в создании пользовательского интерфейса.

tell application "Finder" to set filePath to POSIX path of file (selection as string) 
set filePath to quoted form of filePath 
tell application "Terminal" 
    activate 
    set currentTab to do script ("./aerender -project " & filePath) 
end tell 
+0

Отлично, спасибо. Причина, по которой я использую Applescript, заключается в том, что я хочу перетащить файл проекта в приложение applescript и предоставить этот файл в Terminal (это команда «squender»). Две проблемы: во-первых, как сценарий в настоящее время, он ставит одинарные кавычки вокруг пути к файлу в терминале. И два, я просто сохранил ваш сценарий в качестве приложения и обнаружил, что не могу ничего перетащить на него ...! Какие-либо предложения? Спасибо, кстати! –

+0

PS - Я просто понял, как избавиться от одиночных кавычек - удалите вторую строку. Так что он отлично работает ... Кроме того, я не могу отбросить файл в App Applescript ...? –

+0

Aha! По крайней мере, задумался о работе. Я поставил псевдоним скомпилированного скрипта на док-станцию. Затем я выбираю файл проекта, а затем нажимаю значок док-станции, и он работает. Кажется, немного сфальсифицировано присяжными, хотя ... –

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