Je voudrais mettre en place une méthode automatisée d'archivage des fichiers dans OS X Lion. Par archivage, je veux dire en utilisant la fonction de compression HFS + sur un dossier spécifique et que chaque fichier que je déplace dans ce dossier soit automatiquement compressé. Je pense à l'utiliser pour archiver de gros fichiers que je n'utilise pas souvent, mais sans avoir à créer manuellement des archives compressées et à les extraire au cas où j'en aurais besoin.
Je suis tombé sur l'outil afsctool ( brew install afsctool
), qui peut, via la ligne de commande, appliquer la compression HFS + à un dossier et à tous les fichiers qu'il contient . Mais je crois qu'il n'active pas la compression des futurs fichiers déplacés vers le dossier.
Le déplacement manuel de fichiers et l'exécution répétée d'une instruction de ligne de commande ne sont pas pratiques. Par conséquent, je suppose que j'aurais besoin d'utiliser un automate / AppleScript pour exécuter cela en deux étapes:
- Créez un script qui permet de déplacer n'importe quel fichier vers un dossier spécifique. Idéalement, une option nommée Archive accessible via un clic droit sur le fichier.
- Exécutez une instruction de ligne de commande
afsctool -c <folder>
pour activer la compression sur tous les nouveaux fichiers que vous venez de déplacer dans le dossier.
Je n'ai aucune expérience de l'automatisation ou d'AppleScript, je voudrais donc savoir par où commencer, en particulier en ce qui concerne la façon d'ajouter des actions au Finder et comment exécuter un outil de ligne de commande à partir d'un script.
Mises à jour
Le guide @kopischke fonctionne bien. Le script lui-même, j'ai fait sur la base de la réponse de @mark, mais en utilisant afsctool -c <folder>
, au lieu de ditto
. Voici le script: il devrait être mis~/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
Comme afsctool chez MobileMe n'est plus disponible, il y a diimdeep / afsctool chez GitHub, actuellement 1.6.4.
Aussi afsctool dans MacPorts où ils sont au courant du problème MobileMe mais peut-être pas au courant de la source sur GitHub.