Je voudrais mettre en place une méthode automatisée d'archivage des fichiers dans OS X Lion. Par archivage, j'entends l'utilisation de la fonction de compression HFS+ sur un dossier spécifique, et faire en sorte que chaque fichier que je déplace dans ce dossier soit automatiquement compressé. Je pense utiliser cette fonction pour archiver des fichiers volumineux que je n'utilise pas souvent, sans avoir à créer manuellement des archives compressées et à devoir les extraire en cas de 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 dans le dossier.
Déplacer des fichiers manuellement et exécuter une instruction en ligne de commande à plusieurs reprises est peu pratique. Je suppose donc que je devrais utiliser Automator/AppleScript pour exécuter cette opération en deux étapes :
- Créer un script qui permet de déplacer n'importe quel fichier vers un dossier spécifique. Idéalement une option nommée Archive accessible par un clic droit sur le fichier.
- Exécuter une instruction de ligne de commande
afsctool -c <folder>
pour activer la compression sur tous les nouveaux fichiers qui viennent d'être déplacés dans le dossier.
Je n'ai aucune expérience de l'utilisation d'Automator ou d'AppleScript, donc j'aimerais savoir par où commencer, notamment en ce qui concerne la façon d'ajouter des actions au Finder, et comment exécuter un outil en ligne de commande à partir d'un script.
Mises à jour
Le guide @kopischke fonctionne bien. Le script lui-même, je l'ai fait en me basant sur la réponse de @mark, mais en utilisant afsctool -c <folder>
au lieu de ditto
. Voici le script : Il doit être mis dans ~/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
Puisque afsctool chez MobileMe n'est plus disponible, il y a diimdeep/afsctool sur GitHub, actuellement 1.6.4.
Aussi afsctool dans MacPorts où ils sont conscients du problème de MobileMe mais peut-être pas de la source sur GitHub.
0 votes
Bonne question. Quels taux de compression peut-on attendre de ce système ?