Comment obtenir l'UTI d'un fichier à partir de la ligne de commande sous Mac OS X?


24

Existe-t-il un utilitaire de ligne de commande auquel je peux transmettre un nom de fichier, qui retournera les UTI applicables pour ce fichier?

Par exemple:

hypothetical-uti-fetcher /Library/Desktop\ Pictures/Aqua\ Blue.jpg

pourrait me donner:

public.jpeg
public.image
public.data

Réponses:


27

Vous pouvez utiliser la mdlscommande pour trouver l'UTI d'un fichier:

mdls /Library/Desktop\ Pictures/Aqua\ Blue.jpg

et il vous donnera un tas d'informations, vers le haut, il dira quelque chose comme

kMDItemContentType             = "public.plain-text"

J'espère que cela t'aides!


3
Excellent. Merci. mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpgc'est exactement ce que je voulais.
smokris

Je vous en prie, je suis heureux que cela ait aidé.
Wuffers

1
Supposons que j'ai désactivé mon index Spotlight et que je semble n'avoir aucune métadonnée stockée. (mdls quel que soit le fichier indique simplement que le fichier n'a pas été trouvé). Comment les services md * génèrent-ils les types de contenu en premier lieu?
Aurel Bílý

7

La commande mdls ne semble fonctionner que sur les fichiers indexés Spotlight. Si vous l'exécutez sur une image disque montée, un CD ou une clé USB, il se peut qu'il ne retourne aucune information.

Lorsque vous développez un plugin Quicklook, il est également utile d'utiliser la commande suivante pour voir ce que Quicklook UTI pense qu'un fichier possède et quels plugins il utilise pour l'aperçu:

qlmanage -d 4 -p /path/to/file

Le site cité n'est plus disponible.
Randall
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.