Saya ingin mengatur cara otomatis untuk pengarsipan file di OS X Lion. Maksud saya pengarsipan adalah menggunakan fitur kompresi HFS + pada folder tertentu, dan membuat setiap file yang saya pindahkan ke folder ini secara otomatis dikompresi. Saya berpikir untuk menggunakan ini untuk mengarsipkan file besar yang tidak sering saya gunakan, tetapi tanpa harus secara manual membuat arsip terkompresi dan harus mengekstraknya jika saya membutuhkannya.
Saya menemukan alat afsctool ( brew install afsctool
), yang dapat, melalui command-line, menerapkan kompresi HFS + ke folder dan semua file di dalamnya. Tapi saya percaya itu tidak mengaktifkan kompresi file masa depan yang dipindahkan ke folder.
Memindahkan file secara manual dan menjalankan instruksi baris perintah berulang kali tidak nyaman. Karena itu saya rasa saya perlu menggunakan automator / AppleScript untuk menjalankan ini dalam dua langkah:
- Buat skrip yang memungkinkan memindahkan file apa pun ke folder tertentu. Idealnya opsi bernama Arsip dapat diakses melalui klik kanan pada file.
- Jalankan instruksi baris perintah
afsctool -c <folder>
, untuk mengaktifkan kompresi pada semua file baru saja pindah ke folder.
Saya tidak punya pengalaman menggunakan automator atau AppleScript, jadi saya ingin tahu harus mulai dari mana, terutama tentang cara menambahkan tindakan ke Finder, dan cara menjalankan alat baris perintah dari skrip.
Pembaruan
Panduan @kopischke bekerja dengan baik. Script itu sendiri, saya buat berdasarkan jawaban oleh @mark, tetapi menggunakan afsctool -c <folder>
, bukan ditto
. Ini skripnya: Ini harus dimasukkan~/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
Karena afsctool di MobileMe tidak lagi tersedia, ada diimdeep / afsctool di GitHub, saat ini 1.6.4.
Juga afsctool di MacPorts di mana mereka mengetahui masalah MobileMe tetapi mungkin tidak mengetahui sumbernya di GitHub.