AppleScript Проверить наличие папки, если такой не существует — создать
|Переодически посетители блога у меня спрашивают как сделать тот или иной AppleScript, в Mac OS чтобы автоматизировать некоторые действия на компьютере которые часто повторяются. Ниже я привел скрипт который проверяет есть ли папка с заданным именем. Если папки нет, то создает ее, а если есть, то просто выключается. Этот скрипт может стать основой для дальнейшего создание таких скриптов как создание папки с текущим числом месяцем и годом, скриптов для резервных копий отдельных данных и.т.д. Данный материал может быть полезен к примеру фотографам для фотосессий, или людям который работают с большими массивами различных файлов. Также можно запускать скрипт по расписанию. Как это сделать мы написали в статье Запуск скриптов AppleScript по расписанию. А если вам надо создавать папку с правами супер пользователя, к примеру в библиотеках системы, или в папке у другого пользователя, то вам понадобиться статья Запуск Shell команд с правами суперпользователя (sudo) используя AppleScript
Ниже приведен скрипт который проверяет есть ли в папка по пути «Папка пользователя->Библиотеки->Application Support» папка с названием «test». И если этой папки скрипт ее создает. И так, код:
1 2 3 4 5 6 7 8 9 10 | set Name_of_original_pass to ((path to home folder as text) & "Library:Application Support") as text set Path_to_NEW_folder to Name_of_original_pass & ":test" as text try tell application "Finder" if not (exists folder Path_to_NEW_folder) then make new folder at Name_of_original_pass with properties {name:"test"} end if end tell end try |
Давайте теперь чтобы новичкам было легче работать с этим данными разберем основные моменты. Рассматриваем строчку
set Name_of_original_pass to ((path to home folder as text) & «Library:Application Support«)
- Name_of_original_pass это название переменная которой назначается наш путь «Папка пользователя->Библиотеки->Application Support». Название этой переменной рекомендуется поменять, в зависимости от задач которые делает скрпит
- path to home folder это путь к вашей домашней папки. К примеру это «Macintosh HD->Пользователи->Andrey». Но поскольку у каждого отдельного человека папка пользователя называется по разному то проще ее прописывать не в ручном режиме, а таким вот выражением
- Library:Application Support это собственно путь к нашей папки где мы будем проверять есть ли в ней «test» или нету.
Из всего вышеперечисленного реально менять вам нужно только третий пункт. Все остальное вы можете оставить как есть. Далее рассматриваем следующую строчку:
set Path_to_NEW_folder to Name_of_original_pass & «:test» as text
Если в первой строчке мы назначили путь в которой должна лежать папка тест, то в этой строчке мы назначаем путь собственно самой папке тест. В нашем примере, в первом случае это «Папка пользователя->Библиотеки->Application Support», а во втром это «Папка пользователя->Библиотеки->Application Support->test» Думаю разница понятна.
Следующие строчки долго объяснять не надо. Первоначально это проверка существует ли папка тест, если ее нету то создаем ее.
На этом все, но если у вас остались вопросы, напишите в комментариях, попробую вам помочь.