Я хотел бы настроить автоматический способ архивирования файлов в OS X Lion. Под архивированием я подразумеваю использование функции сжатия HFS + в определенной папке и автоматически сжимаю каждый файл, который я перемещаю в эту папку. Я думаю об использовании этого для архивирования больших файлов, которые я не использую часто, но без необходимости вручную создавать сжатые архивы и извлекать их в случае необходимости.
Я наткнулся на инструмент afsctool ( brew install afsctool
), который может через командную строку применять сжатие HFS + к папке и всем файлам в ней. Но я считаю, что это не активирует сжатие будущих файлов, перемещенных в папку.
Перемещение файлов вручную и многократное выполнение команды командной строки неудобно. Поэтому я предполагаю, что мне нужно было бы использовать automator / AppleScript, чтобы выполнить это в два этапа:
- Создайте скрипт, который позволяет перемещать любой файл в определенную папку. В идеале опция с именем Archive доступна посредством щелчка правой кнопкой мыши по файлу.
- Запустите инструкцию командной строки
afsctool -c <folder>
, чтобы активировать сжатие для всех новых файлов, только что перемещенных в папку.
У меня нет опыта использования Automator или AppleScript, поэтому я хотел бы знать, с чего начать, особенно в отношении того, как добавить действия в Finder и как запустить инструмент командной строки из сценария.
Обновления
@kopischke руководство работает хорошо. Сам скрипт я сделал исходя из ответа @mark, но используя afsctool -c <folder>
вместо ditto
. Вот сценарий: он должен быть вставлен в~/Library/Scripts/Folder Action Scripts
on adding folder items to this_folder after receiving these_items
repeat with i from 1 to number of items in these_items
try
set this_item to item i of these_items
tell application "Finder"
set the file_name to the POSIX path of this_item
end tell
set cmd to "/usr/local/bin/afsctool -c " & file_name
do shell script cmd
on error the error_message number the error_number
display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1
end try
end repeat
end adding folder items to
Поскольку afsctool на MobileMe больше не доступен, на GitHub есть diimdeep / afsctool , в настоящее время 1.6.4.
Также в MacPorts, где они знают о проблеме MobileMe, но, возможно, не знают об источнике на GitHub.