Comment appliquer récursivement des balises dans Mavericks?

9

Maintenant que Mavericks a supprimé cette barre de couleur laide et l'a remplacée par un joli point, je voudrais utiliser davantage de balises.

Fondamentalement, j'ai des fichiers de travail dans différents endroits qui traitent de différents projets et je voudrais appliquer la balise pour tous les fichiers inclus dans des dossiers spécifiques. Les fichiers peuvent se déplacer dans de nouveaux dossiers (en dehors du dossier d'origine) à l'avenir, donc je voudrais appliquer une balise de manière récursive à un dossier afin de pouvoir le trouver plus facilement s'il est déplacé hors de son dossier.

Steve W.
la source

Réponses:

7

Vous pouvez utiliser xattr pour écrire diverses métadonnées liées aux "nouvelles" balises dans Mavericks. John Siracusa a déjà fait le gros du travail ici .

Pour l'essentiel, vous devez écrire deux attributs, com.apple.FinderInfo et com.apple.metadata: _kMDItemUserTags, dans les fichiers. Le moyen le plus simple sera d'obtenir un fichier balisé comme vous le souhaitez et de simplement en copier les attributs. Ouvrez le terminal et accédez au répertoire contenant le dossier que vous souhaitez étiqueter récursivement. Entrez ensuite:

touch sampleFile
open .

Cela ouvrira le Finder afin que vous puissiez marquer le sampleFile comme vous voulez que tous les autres fichiers soient balisés. Une fois le balisage terminé, revenez à la fenêtre de votre terminal et entrez:

find yourDirName -type f | xargs xattr -wx com.apple.FinderInfo \
"`xattr -px sampleFile`"

find yourDirName -type f | xargs xattr -wx com.apple.metadata:_kMDItemUserTags \
"`xattr -px com.apple.metadata:_kMDItemUserTags sampleFile`"

Cela explorera et marquera récursivement tous les fichiers de votreDirName ainsi que les fichiers de tous les sous-répertoires. Vous pouvez laisser l' argument -type f désactivé si vous souhaitez baliser les sous-répertoires ainsi que les fichiers.

Enfin, vous pouvez modifier le

find yourDirName -type f

commandes pour

find yourDirName -iname "*.ext"

si vous souhaitez uniquement baliser certains types de fichiers / extensions.

Colin C.
la source
Aimer. J'ai lu la même critique d'Ars et je me demandais comment je pouvais joindre les métadonnées nécessaires à chaque fichier.
Steve W.28
10

Il existe un outil de balise CLI disponible via Macports / Homebrew: https://github.com/jdberry/tag

Il ne semble pas avoir d'option de récursivité, cependant, j'imagine que vous pourriez l'utiliser en conjonction avec la recherche UNIX standard.

par exemple, (à l'intérieur du répertoire dans lequel vous souhaitez baliser les fichiers)

find . -exec tag --add tagname {} \;  -print 
Anh Q.
la source
La version actuelle (tag v0.8.1) prend en charge le marquage récursif à l'aide detag -e -d --add tagname path
Munkymorgy
3

Une façon simple de le faire est d'utiliser une recherche Spotlight pour générer une liste de tous les fichiers qui vous intéressent. Un exemple de la façon de procéder:

  • Dans le Finder, accédez au haut de la structure de dossiers qui vous intéresse.
  • Tapez -kind:folderdans le champ de recherche Spotlight

    Cela recherchera tous les fichiers qui ne sont pas un dossier (le -signe annule les résultats).

  • Assurez-vous de restreindre ensuite la recherche à la hiérarchie de dossiers qui vous intéresse en cliquant sur le nom du dossier dans les termes de recherche juste en dessous du champ de recherche Spotlight.

Vous aurez maintenant une liste dans votre fenêtre du Finder de tous les fichiers de cette hiérarchie de dossiers. Maintenant, il est trivial de sélectionner tous les fichiers et d'appliquer les balises que vous souhaitez de la manière habituelle avec le Finder.

Utilisez différentes recherches Spotlight pour répondre à vos besoins.

Vous pouvez rendre ce processus légèrement plus facile en faisant que Spotlight recherche toujours dans le dossier actuel et non This Mac:

Finder -> Preferences -> Advanced -> When performing a search: Search the current folder

Alex D.
la source
1

Accédez au dossier supérieur et recherchez «». dans ce dossier.

Sélectionnez tous les fichiers et marquez-les.

Vous devrez peut-être supprimer la balise, puis la réappliquer.

DcTurner
la source