¿Cómo agregar programáticamente una carpeta a Spotlight "no indexar"?

16

¿Hay alguna forma de agregar mediante programación una carpeta a la pestaña "Privacidad" de Spotlight? ¿Ya sea a través de Terminal o Applescript?

A menudo, quiero hacer clic en un elemento en los resultados de Spotlight en Finder y hacer que la carpeta de ese elemento ya no se indexe.

Descubrí que si tú

sudo defaults read /Volumes/foo/.Spotlight-V100/VolumeConfiguration.plist Exclusions

Puede ver una matriz con todos los elementos excluidos.

Pero si intentas

sudo defaults write  /Volumes/foo/.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add '/path/to/folder' 

NO se agrega a la pestaña Privacidad en el Panel de preferencias de Spotlight, ni se desindexa.

Dan
fuente

Respuestas:

16

Según una respuesta aquí , una carpeta se puede excluir de la indexación de Spotlight (logrando el mismo efecto que agregarla a la pestaña Privacidad, aunque la carpeta en realidad no aparecerá allí)

  • agregando .noindexal final del nombre de la carpeta, o
  • crear un archivo vacío .metadata_never_indexdentro de la carpeta (por ejemplo, con touch folder/.metadata_never_index)

Deberá reiniciar Finder después de agregar .metadata_never_index, ya sea killall Finderdesde la Terminal o cerrar sesión desde el menú Apple y luego volver a iniciar sesión.

Ashley
fuente
2

Tienes que parar e iniciar el launchdservicio llamado com.apple.metadata.mds. Así que después:

sudo defaults write /Volumes/foo/.Spotlight-V100/VolumeConfiguration.plist Exclusions -array-add '/path/to/folder'

hacer:

sudo launchctl stop com.apple.metadata.mds && sudo launchctl start com.apple.metadata.mds
casr
fuente
0

Primero debe cambiar la configuración de permisos para agregar algo a la pestaña de privacidad de Spotlight sudo chown -R $USER:$GROUP /.Spotlight-V100/ sudo chmod -R 777 /.Spotlight-V100/

y entonces

sudo defaults write /.Spotlight-V100/Store-V1/Exclusions Exclusions -array-add Deberia trabajar.

Y no olvide volver a configurarlo después.

bluewoodtree
fuente
1
Cuando lo hice, -array-addla carpeta se agregó a la lista; simplemente no tuvo ningún efecto. En otras palabras, apareció con defaults read, pero NO apareció en el Panel Pref. ¿Crees que este mod de permisos marcaría la diferencia?
Dan
No estoy tan seguro, pero los valores predeterminados son -rwx -------?
bluewoodtree
Lo siento, entendí mal, pensé que no se agregaría en absoluto. No estoy tan seguro, pero los valores predeterminados son -rwx -------? En este caso, puede tener razón y no debería haber ninguna diferencia si lo ha cambiado -rwxrwxrwx con chmod 777. ¿Pero vale la pena intentarlo?
bluewoodtree
Creo que Store-V1 solo es utilizado por versiones anteriores de Mac OS X ... está vacío en mis sistemas con 10.9 Mavericks y posteriores. Puede intentar modificar el comando para usar Store-V2 en su lugar.
Jim Grisham el
-3

También puede ir al panel de preferencias del sistema para Spotlight. Allí encontrarás una pestaña de privacidad. Simplemente agregue las carpetas y archivos que no desea mostrar en el índice. Eso es. Ya lo han facilitado para que no tenga que usar la línea de comando.

Y si se agrega a la pestaña de privacidad, puede ver todo lo que ha ocultado del índice en caso de que desee indexarlo más tarde.

masterninja01
fuente
1
La pregunta era sobre cómo hacer esto mediante programación. Obviamente se puede hacer a través de GUI.
Dan
1
@ Ze'ev: Un punto válido ... pero la próxima vez, ya que hacerlo programáticamente es tan importante para la pregunta, probablemente debería incluir "programáticamente" en el título.
LarsH
@ Ze'ev: los detalles de su pregunta no están de acuerdo con su título.
Debe