AppleScript: Folder Action

Как я и обещал в прошлый раз, в этой статье приведу пример Folder Action — скрипта.

applescript icon

Для примера хочу рассмотреть скрипт привязаный у меня к папке Downloads. Мне он нужен по 2 причинам:
в Safari (мой приоритетный браузер) нет хорошего инструмента для управления загруженными файлами
я использую несколько браузеров, и хочется, чтобы файлы загружаемые через любой из них обрабатывались по одному алгоритму.

Думаю, с небольшими изменениями он будет полезен для многих пользователей Mac.

 

100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 property video_extension_list : {"avi", "mp4", "flv", "mov"} -- создаем список расширений видеофайлов
 
-- при добавлении файлов в папку с назначенным Folder Action будет вызываться следующий метод
on adding folder items to this_folder after receiving these_items
	-- где this_folder - сама папка, these_items - список добавляемых элементов
	try
		tell application "Finder"
			repeat with i from 1 to (number of items in these_items)
				set this_item to item i of these_items
				set item_extension to name extension of this_item -- получаем расширение файла
				-- если это torrent (такой же алгоритм обработки у меня и для архивов)
				if item_extension = "torrent" then
					-- открываем его нужным приложением
					tell application "uTorrent" to open this_item
					-- и удаляем
					delete this_item
					-- если расширение совпадает с одним из расширений видеофайлов
				else if item_extension is in the video_extension_list then
					-- то переносим его в папку видео
					move this_item to folder "Video" of this_folder
					-- у меня папка Video лежит в той же самой папке
					-- если нужная папка вне this_folder, то удобно указать путь относительно home
					-- move this_item to folder "Video" of folder "Documents" of home
				end if
			end repeat
		end tell
	on error errmsg
		-- если произошла ошибка
		display dialog errmsg buttons {"OK"} default button 1 -- то ее описание будет выведено в диалоговом окне
	end try
end adding folder items to

 

Теперь можно редактировать этот скрипт под свои нужды и «повесить» его на нужную папку. Как это сделать я писал здесь.

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


Редакция пока не поставила оценку
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (Пока не проголосовали)
Загрузка...
Читатели ещё не оценили запись, станьте первым!



Автор:
В 2010 году окончил Московский Технический Университет Связи и Информатики по специальности Автоматизация Управления. С 2008 года профессионально занимаюсь разработкой приложений для iOS. Увлекаюсь вопросами оптимизации и автоматизации рабочих процессов. AppleScript начал изучать в 2009 году для повышения своей эффективности.

Оставьте комментарий

© 2011 Программы для Mac OS, iPhone и iPad