Chciałbym skonfigurować automatyczny sposób archiwizacji plików w OS X Lion. Przez archiwizację mam na myśli użycie funkcji kompresji HFS + w określonym folderze i automatyczne kompresowanie każdego pliku, który przenoszę do tego folderu. Zastanawiam się nad tym, aby zarchiwizować duże pliki, których nie używam często, ale bez konieczności ręcznego tworzenia skompresowanych archiwów i wyodrębniania ich na wypadek, gdyby były potrzebne.
Natknąłem się na narzędzie afsctool ( brew install afsctool
), które może za pomocą wiersza poleceń zastosować kompresję HFS + do folderu i wszystkich plików w nim zawartych. Ale uważam, że nie aktywuje kompresji przyszłych plików przeniesionych do folderu.
Ręczne przenoszenie plików i wielokrotne uruchamianie instrukcji wiersza poleceń jest niewygodne. Dlatego zgaduję, że musiałbym użyć automatora / AppleScript, aby wykonać to w dwóch krokach:
- Utwórz skrypt, który pozwala przenieść dowolny plik do określonego folderu. Idealnie opcja o nazwie Archiwum dostępna po kliknięciu pliku prawym przyciskiem myszy.
- Uruchom instrukcję wiersza polecenia
afsctool -c <folder>
, aby włączyć kompresję wszystkich nowych plików właśnie przeniesionych do folderu.
Nie mam doświadczenia w korzystaniu z automatyzatora lub AppleScript, więc chciałbym wiedzieć, od czego zacząć, szczególnie w zakresie dodawania akcji do Findera i uruchamiania narzędzia wiersza poleceń ze skryptu.
Aktualizacje
Przewodnik @kopischke działa dobrze. Sam skrypt wykonałem na podstawie odpowiedzi @mark, ale używając afsctool -c <folder>
zamiast ditto
. Oto skrypt: Należy go wprowadzić~/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
Ponieważ afsctool w MobileMe nie jest już dostępny, diimdeep / afsctool w GitHub, obecnie 1.6.4.
Również afsctool w MacPorts, gdzie są świadomi problemu MobileMe, ale być może nie wiedzą o źródle w GitHub.