Я хотів би створити автоматизований спосіб архівації файлів в OS X Lion. Під архівацією я маю на увазі використання функції стиснення HFS + у певній папці, і кожен файл, який я переміщу в цю папку, автоматично стискається. Я думаю використовувати це для архівації великих файлів, які я не використовую часто, але без необхідності створювати стислі архіви вручну та витягувати їх, якщо вони мені потрібні.
Я натрапив на інструмент afsctool ( brew install afsctool
), який за допомогою командного рядка може застосувати стиснення HFS + до папки та всіх файлів у ній. Але я вважаю, що це не активує стиснення майбутніх файлів, переміщених у папку.
Переміщення файлів вручну та повторне виконання інструкцій командного рядка незручно. Тому я здогадуюсь, що мені потрібно використовувати автоматизатор / AppleScript, щоб виконати це у два етапи:
- Створіть сценарій, який дозволяє переміщати будь-який файл до певної папки. В ідеалі варіант з назвою Архів доступний за допомогою правої кнопки миші на файл.
- Запустіть інструкцію командного рядка
afsctool -c <folder>
, щоб активувати стиснення всіх нових файлів, щойно переміщених у папку.
У мене немає досвіду використання автоматизатора чи 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.
Також afsctool в MacPorts, де вони знають про проблему MobileMe, але, можливо, не знають джерела в GitHub.