Gostaria de configurar uma maneira automatizada de arquivar arquivos no OS X Lion. Ao arquivar, quero dizer usando o recurso de compactação HFS + em uma pasta específica e fazer com que todos os arquivos que eu movo para essa pasta sejam compactados automaticamente. Estou pensando em usar isso para arquivar arquivos grandes que não uso com frequência, mas sem precisar criar manualmente arquivos compactados e extraí-los caso precise deles.
Encontrei a ferramenta afsctool ( brew install afsctool
), que pode, via linha de comando, aplicar a compactação HFS + a uma pasta e a todos os arquivos nela. Mas acredito que não ativa a compactação de arquivos futuros movidos para a pasta.
Mover arquivos manualmente e executar uma instrução de linha de comando repetidamente é inconveniente. Portanto, acho que precisaria usar o automator / AppleScript para executar isso em duas etapas:
- Crie um script que permita mover qualquer arquivo para uma pasta específica. Idealmente, uma opção chamada Archive acessível através do botão direito do mouse no arquivo.
- Execute uma instrução de linha de comando
afsctool -c <folder>
para ativar a compactação em todos os novos arquivos recém-movidos para a pasta.
Não tenho experiência no uso do automator ou do AppleScript, portanto, gostaria de saber por onde começar, principalmente sobre como adicionar ações ao Finder e como executar uma ferramenta de linha de comando a partir de um script.
Atualizações
O guia @kopischke funciona bem. O script em si, eu fiz com base na resposta de @mark, mas usando afsctool -c <folder>
, em vez de ditto
. Aqui está o script: deve ser colocado em~/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
Como o afsctool no MobileMe não está mais disponível, há diimdeep / afsctool no GitHub, atualmente 1.6.4.
Também o afsctool no MacPorts, onde eles conhecem o problema do MobileMe, mas talvez não tenham conhecimento da fonte no GitHub.