Applescript — это несколько малоизвестный язык сценариев Apple, но это мощный инструмент, которым могут воспользоваться начинающие программы. С помощью нескольких умных Applescripts, которые решают надоедливые задачи, мы можем повысить производительность и автоматизировать ваше уныние.
Что такое Applescript?
Applescript взаимодействует с больши
Contents
Что такое Applescript?
ак Finder, iTunes, QuickTime и Mail. Если вы знакомы с Automator, Applescript – это своего рода версия этого приложения для опытных пользователей.1. Переключить скрытые файлы
Сохраните это как приложение, и у вас появится кликабельный переключатель для отображения скрытых файлов в Finder.
set newHiddenState to "YES" try set oldHiddenState to do shell script "defaults read com.apple.finder AppleShowAllFiles" if oldHiddenState is in {"1", "YES"}1. Переключить скрытые файлыan> newHiddenState to "NO" end if end try do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenState do shell script "killAll Finder"
2. Пакетное переименование файлов
Этот сценарий запросит у пользователя имя файла, а затем автоматически переименует выбранные файлы, используя эту текстовую строку и увеличивающийся индекс. Он даже добавляет ведущие нули для файлов с первого по десятый.
-- This code comes from https://gist.github.com/oliveratgithub/ -- Open in AppleScript Editor and save as Application -- ------------------------------------------------------------ --this is required to break the filename into pieces (separate name and extension) set text item delimiters2. Пакетное переименование файловn>tell application "Finder" set all_files to every item of (choose file with prompt "Choose the Files you'd like to rename:" with multiple selections allowed) as list display dialog "New file name:" default answer "" set new_name to text returned of result --now we start looping through all selected files. 'index' is our counter that we initially set to 1 and then count up with every file. --the 'index' number is of course required for the sequential renaming of our files! repeat with index from 1 to the count of all_files --using our index, we select the appropriate file from our list set this_file to item index of all_files set file_name_count to text items of (get name of this_file) --if the index number is lower than 10, we will add a preceding "0" for a proper filename sorting later if index is less than 10 then set index_prefix to "0" else set index_prefix to "" end if -- --lets check if the current file from our list (based on index-number) has even any file-extension if number of file_name_count is 1 then --file_name-count = 1 means, we extracted only 1 text-string from the full file name. So there is no file-extension present. set file_extension to "" else --yup, we are currently processing a file that has a file-extension --we have to re-add the original file-extension after changing the name of the file! set file_extension to "." & item -1 of file_name_count end if --let's rename our file, add the sequential number from 'index' and add the file-extension to it set the name of this_file to new_name & index_prefix & index & file_extension as string end repeat --congratulations for successfully accomplishing the batch renaming task :) display alert "All done! Renamed " & index & " files with '" & new_name & "' for you. Have a great day! :)" end tell
3. Масштабируйте изображение в процентах
Этот скрипт масштабирует изображения до 50 % от их исходного размера.
-- Prompt for an image set theImageFile to choose file of type "public.image" with prompt "Please select an image:" -- Locate an output folder set theOutputFolder to (path to desktop folder as string) -- Launch Image Events tell application "Image Events" launch -- Open the image set theImage to open theImageFile tell theImage -- Determine a save name for the image3. Масштабируйте изображение в процентах> name set theSaveName to "smlr-" & theName -- Scale the image by 50% scale by factor 0.5 -- Save the image to the output folder, using the save name save as file type in (theOutputFolder & theSaveName) -- Close the image close end tell end tell
4. Масштабировать изображение по ширине в пикселях
При этом используется большая часть начала предыдущих сценариев, но вместо этого масштабируется до ширины в пикселях. Он предложит пользователю указать желаемую ширину в пикселях и добавит эту ширину в начало имени нового файла.
-- Prompt for an image set theImageFile to choose file of type "public.image" with prompt "Please select an image:" set dialogResult to (display dialog "Enter desired pixel width:" default answer "") try set pixelWidth to (text returned of dialogResult) as integer end try -- Locate an output folder set theOutputFolder to (4. Масштабировать изображение по ширине в пикселяхpan>as string) -- Launch Image Events tell application "Image Events" launch -- Open the image set theImage to open theImageFile tell theImage -- Determine a save name for the image set theName to name set theSaveName to (pixelWidth as text) & "-px-" & theName -- Scale the image to pixelWidth scale to size pixelWidth -- Save the image to the output folder, using the save name save as file type in (theOutputFolder & theSaveName) -- Close the image close end tell end tell
5. Резервное копирование папок в выбранное место
Этот простой скрипт дублирует выбранную папку в выбранное место назначения, что может сделать сложное копирование с помощью перетаскивания менее болезненным.
set backupTarget to (choose folder with prompt "Select a Backup Target") set backupDestination to (choose folder with prompt "Select a Backup Destination") tell application "Finder" duplicate folder backupTarget to folder backupDestination end tell
Заключение
Чтобы узнать больше об AppleScript, посетите Собственная документация Apple . Еще лучше использовать MacOSXAutomation.com , кот