¿Se puede configurar Spotlight de Mac OS X para ignorar ciertos tipos de archivos?[cerrado]

StackOverflow https://stackoverflow.com/questions/41279

  •  09-06-2019
  •  | 
  •  

Pregunta

Tengo un montón de archivos auxiliares generados por código y documentos LaTeX que deseo mucho no lo haría ser sugerido por SpotLight como posibles candidatos de búsqueda.no estoy buscando example.log, Estoy buscando example.tex!

Entonces, ¿se puede configurar Spotlight para ignorar, digamos, todos .log archivos?

(Sé que sé;Debería usar QuickSilver en su lugar…)


@diciu Esa es una respuesta interesante.El problema en mi caso es este:

Descubra qué importador maneja su tipo de archivo

¿No estoy seguro de si mi tipo de archivo es manejado por un solo importador?Como todos tienen extensiones raras (.aux, .glo, .out, lo que sea), creo que es improbable que haya un importador que sea intentando para indexarlos.Pero como son texto sin formato, se seleccionan como archivos genéricos.(Es cierto que no sé mucho sobre la indexación de Spotlight, por lo que podría estar completamente equivocado en esto).


@diciu de nuevo: TextImporterDontImportList suena muy prometedor;Me iré a ver si sale algo.

Como usted dice, parece que todo el sistema de ITU no permite realmente no buscando algo.


@Raynet Hacer que los archivos sean invisibles es una buena idea en realidad, aunque para mí es relativamente tedioso configurarlo en el sentido general.Si lo peor llega a ser peor, podría intentarlo (pero probablemente después de agotar otras opciones como QuickSilver).(Ah, y SetFile requiere las herramientas de desarrollo, pero supongo que todos aquí las tienen instaladas de todos modos. :) )

¿Fue útil?

Solución

@Will: estas cosas que definen tipos se llaman identificadores de tipo uniforme.

El problema es que son una combinación de extensiones (como .txt) y tipos genéricos (es decir,public.plain-text coincide con un archivo txt sin la extensión txt basándose únicamente en el contenido), por lo que no es tan simple como buscar una extensión.

RichText.mdimporter es probablemente el importador que importa su archivo de texto.Esto debería verificarse fácilmente ejecutando mdimport en modo de depuración en uno de los archivos que no desea indexar:

cristi:~ diciu$ echo "All work and no play makes Jack a dull boy" > ~/input.txt
cristi:~ diciu$ mdimport -d 4 -n ~/input.txt 2>&1 | grep Imported
    kMD2008-09-03 12:05:06.342 mdimport[1230:10b] Imported '/Users/diciu/input.txt' of type 'public.plain-text' with plugIn /System/Library/Spotlight/RichText.mdimporter.

El tipo que coincide en mi ejemplo es public.plain-text.

No tengo idea de cómo se escribe realmente una excepción basada en extensión para una ITU (como public.plain-text excepto cualquier cosa que termine en .log).

Edición posterior:También revisé el binario mdimporter de RichText y encontré una cadena prometedora, pero no puedo determinar si realmente se está utilizando (como nombre de preferencia o lo que sea):

cristi:FoodBrowser diciu$ strings /System/Library/Spotlight/RichText.mdimporter/Contents/MacOS/RichText |grep Text

TextImporterDontImportList

Otros consejos

No estoy seguro de cómo hacerlo a nivel de tipo de archivo, pero puedes hacerlo a nivel de carpeta:

Fuente: http://lists.apple.com/archives/spotlight-dev/2008/Jul/msg00007.html

Hacer que Spotlight ignore una carpeta

Si no puede cambiar el nombre de la carpeta porque otro software depende de ella, otra técnica es seguir adelante y cambiar el nombre del directorio para que termine en ".noindex", pero luego crear un enlace simbólico en la misma ubicación que apunte a la ubicación real usando el original. nombre.

La mayoría del software está feliz de usar el enlace simbólico con el nombre original, pero Spotlight ignora los enlaces simbólicos y notará que el nombre "real" termina en *.noindex e ignorará esa ubicación.

Quizás algo como:

MV OriginalName originalname.noindex ln -s originalname.noindex
Nombre original

ls-l

Lrwxr-XR-X 1 Andy Admin 24 de enero de 2008 OriginalName-> OriginalName.NoIndex DRWXR-XR-X 11 Andy Admin 374 Jul 11 ​​07:03 Original.NoIndex

Así es como podría trabajar.

Nota:Esta no es una muy buena solución como actualización del sistema. voluntad sobrescribirá los cambios que realizará.

Obtenga una lista de todos los importadores

cristi:~ diciu$ mdimport -L
2008-09-03 10:42:27.144 mdimport[727:10b] Paths: id(501) (
    "/System/Library/Spotlight/Audio.mdimporter",
    "/System/Library/Spotlight/Chat.mdimporter",
    "/Developer/Applications/Xcode.app/Contents/Library/Spotlight/SourceCode.mdimporter",

Descubra qué importador maneja su tipo de archivo (ejemplo para el importador de audio):

cristi:~ diciu$ cat /System/Library/Spotlight/Audio.mdimporter/Contents/Info.plist 




[..]
            CFBundleTypeRole
            MDImporter
            LSItemContentTypes
            
                public.mp3
                public.aifc-audio
                public.aiff-audio

Modifique la lista del importador para eliminar el tipo que desea ignorar.

Vuelva a importar los tipos del importador para que el sistema recoja el cambio:

mdimport -r /System/Library/Spotlight/Chat.mdimporter

Probablemente la única opción sea no indexarlos en Spotlight, ya que por alguna razón no se pueden realizar búsquedas negativas.Puede buscar archivos con una extensión de archivo específica, pero no puede no buscar aquellos que no coincidan.

Podrías intentar hacer que esos archivos sean invisibles para Finder, Spotlight no indexará archivos invisibles.El comando para configurar el indicador kIsInvisible en los archivos es:

SetFile -a v [nombre(s) de archivo]

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top