2011-12-16 15 views

risposta

10

Il framework OpenMeta è uno standard di fatto di terze parti per l'aggiunta di metadati ai file OS X utilizzando gli attributi estesi. Viene utilizzato da un numero di applicazioni di terze parti.

+0

+1 anche se, come nota a margine, sembra che [almeno un'applicazione che precedentemente supportava OpenMeta (sui Mavericks) non troverà più file che utilizzano solo tag OpenMeta] (http://apple.stackexchange.com/questions/ 24494/quotazione-all-openmeta-tags-e-associati-files # comment236164_24514). –

2

clic destro e informazioni, o cmd + i quando il file viene selezionato nel Finder si aprirà un pannello di informazioni ed è possibile aggiungere dati nella parte superiore che verrà fatto riferimento in Spotlight. Si chiama Spotlight Comments. Puoi farlo anche con le directory. Non sono sicuro che sia il modo migliore, ma è l'unico modo per farlo.

+0

Ci deve essere uno strumento per farlo anche a livello di programmazione. – Thilo

+0

Suppongo che tu sia in grado di farlo da applescript eo da automator. Abbiamo dato una rapida occhiata all'automator e ci sono un sacco di azioni predefinite contro cartelle e file, quindi supponiamo che sia abbastanza capace – PurplePilot

7

Sembra un lavoro per attributi estesi. È possibile ottenere e impostarli dalla riga di comando con xattr e dai programmi con getxattr e setxattr.

Tuttavia, gli attributi estesi sono (almeno in generale) non indicizzati da Spotlight. L'unica eccezione che conosco è l'attributo "com.apple.metadata: kMDItemFinderComment", che dovrebbe contenere un plist in formato binario con il commento indicizzabile reale (si veda la risposta di @ PurplePilot). Lo spotlight di This page indicizzerà altri xattrs con prefisso "com.apple.metadata:", ma non l'ho fatto funzionare.

+0

Grazie per la tua risposta. C'è un modo per ottenere che tutti i file abbiano un attributo specifico? –

+0

Se è possibile ottenere in Spotlight l'indicizzazione delle voci xattr, dovrebbe essere possibile utilizzarlo per cercare i file con un xattr particolare. In caso contrario, penso che devi percorrere l'intero filesystem e usare getxattr per controllare ogni file per i metadati. –

4

Se si desidera impostare a livello di codice il "Finder commento" di un file (vedi @ risposta di PurplePilot), provate questo:

1) Creare un file regolare xml plist con i vostri commenti:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<string>My Custom Comment</string> 
</plist> 

2) Convertire il plist al formato binario accettato:

plutil -convert binary1 my_custom_comment.plist 

3) Utilizzando xattr, impostare i metadati kMDItemFinderComment:

xattr -wx "com.apple.metadata:kMDItemFinderComment" "`xxd -ps my_custom_comment.plist`" MyFile 

Si può vedere con xattr -l MyFile che i commenti ci sono e in formato binario giusto, ma per qualche motivo Finder non mostra che (almeno per me) nella colonna Commenti.

La ricerca nel database Spotlight con mdfind "My Custom Comment" restituirà tutti i file con questo commento. attributo

13

personalizzato nomi funzionato per me:

$ xattr -w com.apple.metadata:MyAttribute gfdylvyieo a.txt 
$ mdls -n MyAttribute a.txt 
MyAttribute = "gfdylvyieo" 
$ mdfind gfdylvyieo 
/private/tmp/a.txt 
$ mdfind 'MyAttribute=*' 
/private/tmp/a.txt 

xattr -wx non è necessaria se il valore è testo semplice:

xattr -w com.apple.metadata:kMDItemFinderComment aa file.txt 

Quando si aggiunge un commento Spotlight dal Finder, viene memorizzato sia come un attributo esteso e in un file .DS_Store. Se si aggiunge solo un attributo esteso, il campo di commento Spotlight appare vuoto nel Finder, ma i metadati del commento sono ancora indicizzati da Spotlight.