Je veux pouvoir attribuer automatiquement un tag rouge à tout dossier / fichier qui est déposé dans un dossier situé sur mon bureau. J'ai fait quelques recherches à ce sujet et il semble que cela ne puisse pas vraiment être fait même avec Automator ou des Dossiers Intelligents, même si cela semble assez simple.
Réponse
Trop de publicités?Option 1 : Utiliser Hazel
Vous pouvez attribuer automatiquement des étiquettes aux dossiers/fichiers déposés dans un dossier en utilisant le logiciel commercial Hazel, qui, selon son développeur Noodlesoft, "observe les dossiers que vous lui indiquez, organisant automatiquement vos fichiers selon les règles que vous avez créées."
Option 2 : Utiliser les actions de dossier
Vous pouvez attribuer automatiquement des étiquettes aux dossiers/fichiers déposés dans un dossier en utilisant la fonction Actions de dossier de macOS. J'ai écrit le script AppleScript suivant en m'inspirant en partie d'un des Scripts d'actions de dossier par défaut d'Apple et en partie d'un script fourni dans une discussion dans les communautés de support d'Apple. J'ai testé ce script dans Mac OS X 10.6.8, 10.9.5 et 10.11.6 et il a fonctionné dans ces trois versions de macOS (mais voir la section Avertissement important ci-dessous).
property label_color : {none:0, orange:1, red:2, yellow:3, blue:4, purple:5, green:6, gray:7}
on adding folder items to this_folder after receiving these_items
tell application "Finder"
try
repeat with i from 1 to number of items in these_items
set this_item to item i of these_items
set label index of this_item to red of label_color
end repeat
end try
end tell
end adding folder items to
La première ligne du script, property label_color : {none:0, orange:1, red:2, yellow:3, blue:4, purple:5, green:6, gray:7}
, n'est pas vraiment nécessaire ; je l'ai simplement incluse pour montrer à quelle couleur correspond chaque numéro d'index d'étiquette. Vous pourriez supprimer la première ligne et changer red of label_color
en 2
et le script aura le même effet.
Il existe quelques façons d'attacher ce script AppleScript à un dossier en tant que Script d'actions de dossier. Une façon est d'ouvrir Automator, de créer une nouvelle Action de dossier, d'ajouter une Exécuter un AppleScript action, et de remplacer le contenu de l'action Exécuter un AppleScript par ce script - mais cela n'a pas fonctionné dans mon test. Une autre façon, qui a fonctionné dans mon test, est de enregistrer le script dans /Library/Scripts/Folder Action Scripts/
(pour être utilisé par n'importe quel utilisateur) ou dans ~/Library/Scripts/Folder Action Scripts/
(pour être utilisé par l'utilisateur actuel uniquement), puis de suivre les étapes suivantes :
- Dans le Finder, Control+cliquez (ou clic droit) sur n'importe quel dossier pour afficher le menu contextuel.
- Dans le menu contextuel, choisissez Configuration des actions de dossier (ou Services et ensuite Configuration des actions de dossier).
- Dans la fenêtre de dialogue qui apparaît, choisissez le nom du script que vous venez d'enregistrer.
- Cochez l'option Activer les actions de dossier dans le coin supérieur gauche de la fenêtre Configuration des actions de dossier, si ce n'est pas déjà fait.
Avertissement important
Techniquement, le script précédent ne définit que l'étiquette de fichier, ce qui n'est pas exactement la même chose qu'une étiquette, comme l'a expliqué John Siracusa dans sa critique d'Ars Technica de l'implémentation des étiquettes dans OS X 10.9; cependant, dans Finder dans OS X 10.9 et plus récent, le résultat du script précédent sera indiscernable d'une étiquette. Le script précédent fonctionne dans les versions de Mac OS X 10.6 ou ultérieures.
Un Script d'action de dossier plus robuste qui définit une étiquette et un libellé rouges au lieu d'uniquement un libellé rouge (bien que, comme je l'ai dit, les résultats soient indiscernables dans le Finder) peut être trouvé dans le AppleScript ci-dessous.
Le script ci-dessous nécessite que vous installiez d'abord l'outil tag de James Berry (qui nécessite OS X 10.9 ou ultérieur). Il peut être installé facilement avec le gestionnaire de paquets Homebrew (brew install tag
) ou MacPorts (sudo port install tag
). Si vous l'installez avec Homebrew, remplacez /opt/local/bin/tag
(le chemin MacPorts) par /usr/local/bin/tag
(le chemin Homebrew) dans le script ci-dessous.
on adding folder items to this_folder after receiving these_items
tell application "Finder"
try
repeat with i from 1 to number of items in these_items
set this_item to item i of these_items
do shell script "/opt/local/bin/tag --add Red " & quoted form of POSIX path of this_item
end repeat
end try
end tell
end adding folder items to
Une troisième façon d'écrire le AppleScript (dans OS X 10.9 et plus récent) serait d'installer une bibliothèque AppleScript/Objective-C écrite par Shane Stanley appelée FileTagsLib et de remplacer la ligne do shell script
dans le script ci-dessus par la commande appropriée comme décrit dans la documentation de FileTagsLib, mais je n'ai pas testé cette troisième option.