Existe-t-il un moyen de définir l'étiquette de couleur d'un fichier sur une certaine couleur dans le terminal?
Je sais que la commande suivante répertorie des informations sur la couleur actuelle, mais je ne sais pas comment y remédier. Comme changer.
mdls -name kMDItemFSLabel somefile.ext
La raison pour laquelle je voudrais savoir est que je veux marquer de manière récursive tous les fichiers d'un dossier d'un certain type avec une certaine étiquette de couleur (dans mon cas, le gris).
Je sais comment faire la constatation:
find . -name "*.ext"
Et je sais comment je peux exécuter la commande par la suite pour chaque fichier à l'aide -exec
, mais j'ai besoin de savoir comment faire l'étiquetage réel ...
Je voudrais une solution qui n'implique que des commandes intégrées à Mac OS X. Donc, de préférence pas de trucs tiers, sauf s'il n'y a pas d'autre moyen.
osascript -e "dites à l'application \" Finder \ "de définir l'index d'étiquette du fichier POSIX (\" / junk.txt \ ") à 1"
la source
osascript -e "tell app \"Finder\" to set label index of POSIX file (\"/junk.txt\") to 1
Et si junk.txt est vraimentmy full/path/with spaces.txt
et stocké dans une variable appelée$fileName
J'ai essayé d'innombrables syntaxes et guillemets simples, guillemets doubles ... et aucune d'entre elles ne fonctionne.File\ with\ Spaces.txt
Voici ma version, basée sur les deux de @Lauri et @Robert. Vous spécifiez la couleur en utilisant le nom de la couleur, pas le numéro. Les noms de couleur sont cohérents avec la sortie de
hfsdata -L
, vous utilisez donc "Aucun" pour n'attribuer aucune couleur au fichier. Enregistrez ceci dans un fichier appelé "setlabel" et faiteschmod 755 setlabel
.la source
Pour les afficher dans le Finder (je sais, pas ce que vous avez demandé), vous pouvez utiliser xattr -l ou xattr -p com.apple.FinderInfo, vous obtenez un indicateur parmi les zéros (1E), dont les bits inférieurs sont les couleur .. Avec des trucs tiers: hfsdebug (utiliser avec sudo) pour obtenir beaucoup d'informations, parmi lesquelles une étiquette de couleur lisible.
Pour les changer avec des trucs de troisième partie: osxutils a une commande setlabel.
la source
Cela utiliserait le même ordre pour les couleurs que Finder.
stderr est redirigé car la conversion d'un chemin relatif en un alias entraîne un avertissement comme CFURLGetFSRef a été transmis à cette URL qui n'a pas de schéma sur 10.8. stdout est redirigé car osascript imprime la valeur de la dernière expression.
la source
J'adore ces scripts, cependant, ils ne fonctionnaient pas pour mes fichiers qui utilisaient des espaces dans leurs noms jusqu'à ce que je modifie le paramètre IFS pour bash dans le script, j'ai également changé l'entrée de fichier pour accepter un fichier texte avec une liste de noms de fichiers:
la source
Voici deux articles décrivant comment faire cela en utilisant applescript, qui peut à son tour être invoqué à partir de la ligne de commande.
Comment définir une étiquette de couleur via Terminal ou applescript
et étiqueter
des fichiers avec des couleurs dans os-x finder à partir de scripts shell .
la source