Как настроить AppleScript для запуска при изменении данного файла? - PullRequest
2 голосов
/ 08 марта 2011

Я знаю, что applecripts может быть настроен для запуска в качестве действий папки, но есть ли способ заставить их работать как file actions?Да, я знаю, что могу обойти это, просто создав новую папку, поместив в нее скрипт и запустив действие папки, но я хочу знать, можно ли это сделать.

Ответы [ 3 ]

2 голосов
/ 09 марта 2011

Я отправил этот вопрос на доску обсуждений Apple Applescript , и несколько пользователей предоставили некоторые решения, использующие только системные ресурсы, без сторонних приложений. Перейдите по ссылке, чтобы увидеть ответы.

Обычно вам нужно использовать launchd для просмотра файла и запуска скрипта при его изменении. Затем вам нужно создать .plist, который описывает скрипт для запуска и файл (ы) или каталоги для просмотра.

1 голос
/ 09 марта 2011

Нет простого встроенного способа сделать это. Однако есть много способов настроить Applescript для запуска. Однако, в общем, вам придется делать не-Applescript кодирование.

Проверьте информацию в этой подсказке и OSXHints:

http://hints.macworld.com/article.php?story=20060817044149264

У них есть скрипт Python, демонстрирующий использование fsevents.so для отслеживания изменений файлов. Затем вы просто измените Python для вызова вашего Applescript (или просто используйте Appscript для выполнения сценариев из Python).

В качестве альтернативы вы можете просто заставить программу проверять файл с определенным интервалом и затем запускать, если файл изменяется. Этот совет описывает, что в Perl:

http://hints.macworld.com/article.php?story=20031001073403810

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

Я нашел способ сделать это, который работает.

Сценарий оболочки:

find watchedfilepath -mtime -1 -exec cp {} watchedfolderpath ';'

Создайте событие календаря в Automator для запуска этого сценария оболочки, который проверит файл. Если он был изменен за последние 24 часа, он будет скопирован в просматриваемую папку. Затем создайте действие в Automator, чтобы переместить его в корзину (в противном случае при следующем запуске сценария оболочки это не будет работать).

Настройте действие папки на просматриваемой папке, чтобы отслеживать добавленный новый элемент, и тогда оно сообщит вам. Я создал сценарий для отправки мне электронного письма и поместил его в папку «Действия папки» в разделе «Библиотека / Сценарии». Это работает как удовольствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...