on adding folder items to this_folder after receiving MountedVolumes set SyncRootFolder to "Портфель" repeat with MountedVolume in MountedVolumes tell application "Finder" --Имя раздела внешного диска set RemovableDiskName to "Flash" if (local volume of disk MountedVolume) and (name of disk MountedVolume is RemovableDiskName) then --Имена синхронизируемых каталогов set SyncFolders to {¬ "Проект А", ¬ "Проект Б", ¬ "Инструкции тех. поддержки", ¬ "Test"} repeat with SyncFolder in SyncFolders --Синхронизация my StartSync(SyncRootFolder, SyncFolder, RemovableDiskName) end repeat --Раскомментировать, если необходимо отключать носитель после завершения синхронизации --my UnmountDisk(RemovableDiskName) end if end tell end repeat end adding folder items to --Обработчик синхронизации on StartSync(SyncRootFolder, SyncFolder, RemovableDiskName) --Источник set SourcePath to quoted form of (POSIX path of (path to documents folder as text) & SyncRootFolder & "/" & SyncFolder & "/") --Назначение tell application "System Events" to set DestinationPath to quoted form of (POSIX path of disk item RemovableDiskName & "/" & SyncFolder as text) try do shell script "rsync -au --delete" & space & SourcePath & space & DestinationPath delay 1 display notification "Каталог" & space & quoted form of SyncFolder & space & ¬ "синхронизирован с съёмным диском" & space & RemovableDiskName with title "Синхронизация каталога" on error ErrorMessage set ErrorMessage to do shell script "echo" & space & quoted form of (ErrorMessage as text) & "| awk -F 'failed:' '{print$2}' | awk -F ' at ' '{print$1}'" display dialog "Копирование каталога" & space & quoted form of SyncFolder & space & "не выполнено." & ¬ return & "Failed:" & space & ErrorMessage buttons {"OK"} default button 1 with icon stop end try end StartSync --Обработчик размонтрования накопителя on UnmountDisk(RemovableDiskName) delay 5 tell application "Finder" to eject RemovableDiskName end UnmountDisk