Come posso applicare i tag in Mavericks in modo ricorsivo?


9

Ora che Mavericks ha rimosso quella brutta barra colorata e l'ha sostituita con un bel punto, vorrei usare di più i tag.

Fondamentalmente ho file di lavoro in luoghi diversi che si occupano di progetti diversi e vorrei applicare il tag per tutti i file inclusi in cartelle specifiche. I file potrebbero spostarsi in nuove cartelle (al di fuori della cartella originale) in futuro, quindi vorrei applicare un tag ricorsivamente a una cartella in modo da poterlo trovare più facilmente se viene rimosso dalla sua cartella.

Risposte:


7

Puoi usare xattr per scrivere vari metadati relativi ai "nuovi" tag in Mavericks. John Siracusa ha fatto il sollevamento pesante già qui .

Fondamentalmente devi scrivere due attributi, com.apple.FinderInfo e com.apple.metadata: _kMDItemUserTags, nei file. Il modo più semplice sarà quello di ottenere un file taggato come vuoi e semplicemente copiarne gli attributi. Aprire il terminale e passare alla directory contenente la cartella che si desidera taggare ricorsivamente. Quindi inserire:

touch sampleFile
open .

Questo aprirà Finder in modo da poter taggare il file sample come si desidera taggare tutti gli altri file. Dopo aver taggato, torna alla finestra del terminale e inserisci:

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`"

Ciò eseguirà il drill down ricorsivo e taggerà tutti i file in yourDirName , nonché i file in qualsiasi sottodirectory. È possibile lasciare disattivato l'argomento -type f se si desidera taggare le sottodirectory e i file.

Infine, puoi modificare il

find yourDirName -type f

comandi a

find yourDirName -iname "*.ext"

se si desidera taggare solo determinati tipi / estensioni di file.


Lo adoro. Ho letto la stessa recensione di Ars e mi chiedevo come avrei potuto allegare i metadati necessari a ciascun file.
Steve W.

10

C'è uno strumento di tag CLI disponibile tramite Macports / Homebrew: https://github.com/jdberry/tag

Non sembra avere un'opzione di ricorsione, tuttavia, immagino che potresti usarlo insieme allo standard "find" di UNIX.

ad es. (dall'interno della directory in cui si desidera taggare i file)

find . -exec tag --add tagname {} \;  -print 

La versione corrente (tag v0.8.1) supporta la codifica ricorsiva utilizzandotag -e -d --add tagname path
Munkymorgy il

3

Un modo semplice per farlo è utilizzare una ricerca Spotlight per generare un elenco di tutti i file che ti interessano. Un esempio di come eseguire questa operazione:

  • Nel Finder, vai all'inizio della struttura delle cartelle che ti interessa.
  • Digita -kind:folderil campo di ricerca Spotlight

    Questo cercherà tutti i file che non sono una cartella (il -segno nega i risultati).

  • Assicurati quindi di limitare la ricerca alla gerarchia di cartelle a cui sei interessato facendo clic sul nome della cartella nei termini di ricerca appena sotto il campo di ricerca Spotlight.

Ora avrai un elenco nella finestra del Finder di tutti i file all'interno di quella gerarchia di cartelle. Ora è banale selezionare tutti i file e applicare i tag desiderati nel solito modo con Finder.

Utilizza diverse ricerche Spotlight per soddisfare le tue esigenze.

Puoi semplificare leggermente questo processo facendo in modo che Spotlight cerchi sempre nella cartella corrente e non This Mac:

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


1

Vai nella cartella principale e cerca "." all'interno di quella cartella.

Seleziona tutti i file e taggali.

Potrebbe essere necessario rimuovere il tag, quindi riapplicarlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.