Листинг 1
-- сценарий проводит подготовку компьютера к завершению работы:
-- закрывает все окна, извлекает сменные диски, упорядочивает
-- значки на рабочем столе, очищает корзину и выключает систему
-- (все строки, начинающиеся двойным дефисом, являются
-- комментариями и при выполнении сценария игнорируются)
tell application "Finder"

close every window
put away (every disk whose ejectable is true)
clean up desktop
empty trash
shut down

end tell
Листинг 7
-- сценарий пытается открыть папку, расположенную на
-- рабочем столе; если папка отсутствует, она создается
set myFolderName to "Notes"
tell application "Finder"

activate
tell desktop
if exists (folder myFolderName) then
open item myFolderName
else
make new folder with properties {name:myFolderName}
open item myFolderName
end if
end tell

end tell
Листинг 8
-- сценарий сортирует все файлы в указанной папке в зависимости
-- от того, в какой программе они были созданы
tell application "Finder"
set myFolder to folder "Work Disk:Portfolio:"
make new folder with properties {name:"Photoshop pictures"} at myFolder
make new folder with properties {name:"Illustrator pictures"} at myFolder
make new folder with properties {name:"Other pictures"} at myFolder

tell myFolder
set myFolderFileList to get files -- получение списка файлов
set myNumOfFiles to count items in myFolderFileList -- подсчет их количества

repeat with count_var from 1 to myNumOfFiles
set myFile to item count_var of myFolderFileList
if kind of myFile = "Adobe Photoshop Document" then
move myFile to folder "Photoshop pictures"
else if kind of myFile = "Adobe Illustrator Document" then
move myFile to folder "Illustrator pictures"
else
move myFile to folder "Other pictures"
end if
end repeat

end tell

end tell
Листинг 9
-- сценарий формирует окно с информацией о названии диска,
-- его емкости и наличии свободного пространства
set myDisk to "Mac OS:"
tell application "Finder"
set aSp to capacity of disk myDisk
set dSp to free space of disk myDisk
end tell

set AllSpace to aSp div (1024 * 1024) as string
set DiskSpace to dSp div (1024 * 1024) as string
display dialog "Диск " & myDisk & " имеет объем " & AllSpace & " Мбайт," &
"
из которых свободно " & DiskSpace & " Мбайт."
Листинг 11
tell application "Finder"
-- в качестве целевого диска по умолчанию устанавливается первый
-- диск из доступных в системе
display dialog "Введите имя диска для архивов:" default answer (item 1 of disks)
set myDisk to text returned of result

repeat -- начало бесконечного цикла
choose folder -- вызов окна выбора папки

-- формирование полного имени архива (путь + имя папки + расширение)
set myArhiveFolder to result
set fn to name of myArhiveFolder
set myArhiveFile to the myDisk & fn & ".sit"

-- создание нового архива и последующее сжатие данных
tell application "StuffIt Deluxe"
activate
make new archive with properties {pathname:myArhiveFile}
stuff {myArhiveFolder} into archive 1
close archive 1
end tell

activate
display dialog "Желаете продолжить? " buttons {"Нет", "Да"} default button 2
if button returned of result = "Нет" then

-- завершение работы архиватора и выход из бесконечного цикла
tell application "StuffIt Deluxe"
quit
end tell
exit repeat

end if

end repeat

end tell
548