我想在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
由于MobileMe的afsctool不再可用,因此GitHub上有diimdeep / afsctool,目前为1.6.4。