OS X Lionでファイルをアーカイブするための自動化された方法を設定したいと思います。アーカイブとは、特定のフォルダーでHFS +圧縮機能を使用し、このフォルダーに移動するすべてのファイルを自動的に圧縮することを意味します。頻繁に使用しない大きなファイルをアーカイブするためにこれを使用することを考えていますが、圧縮アーカイブを手動で作成し、必要に応じてそれらを抽出する必要はありません。
ツールafsctool(brew install afsctool
)に出会いました。このツールは、コマンドラインを介して、フォルダーとその中のすべてのファイルにHFS +圧縮を適用できます。ただし、フォルダに移動された将来のファイルの圧縮はアクティブ化されないと考えています。
ファイルを手動で移動し、コマンドライン命令を繰り返し実行するのは不便です。したがって、オートマトン/ AppleScriptを使用して2つのステップでこれを実行する必要があると推測しています:
- 任意のファイルを特定のフォルダーに移動できるスクリプトを作成します。理想的には、ファイルを右クリックしてアクセス可能なアーカイブというオプションです。
- コマンドライン命令を実行し
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
MobileMeのafsctoolは使用できなくなったため、GitHubにはdiimdeep / afsctoolがあります(現在は1.6.4)。
また、MacPortsのafsctoolでは、MobileMeの問題は認識していますが、GitHubのソースを認識していない可能性があります。