Estoy tratando de configurar una Búsqueda guardada de mi Mac que excluirá archivos en una carpeta llamada 'XYZ' de los resultados de búsqueda. El motivo es que recibo un montón de falsos positivos de esa carpeta que son difíciles de clasificar.
Para que quede claro, sé que puede agregar carpetas a una lista de "Privacidad" en las preferencias de Spotlight, pero no quiero agregar esta carpeta a esa lista, porque no quiero excluirla de todas las búsquedas futuras. , solo esta búsqueda guardada específica. ¿Alguna idea de cómo se podría hacer algo así?
Miré algunos de los archivos de búsqueda guardados en el paquete de aplicaciones de Finder y, por ejemplo, /System/Library/CoreServices/Finder.app/Contents/Resources/MyLibraries/myDocuments.cannedSearch/search.savedSearch
usé un formato como este para excluir directorios:
<key>FXScopeArrayOfPaths</key>
<array>
<string>~/</string>
<string>-Library</string>
<string>-Music/iTunes</string>
<string>-Documents/Steam Content</string>
<string>~/Library/Mobile Documents/</string>
<string>-com~apple~Keynote</string>
<string>-com~apple~Pages</string>
<string>-com~apple~Numbers</string>
</array>
Por lo tanto, puede excluir subcarpetas agregando cadenas que comiencen con un carácter menos después de una ruta completa. Algo como -~/Library
no parece funcionar.
Puede editar los archivos de búsqueda guardados soltándolos en un editor de texto. RawQueryDict:SearchScopes
y FXScope:FXScopeArrayOfPaths
parecen enumerar las mismas rutas de forma predeterminada, pero solo editar la segunda parecía excluir carpetas al menos en Finder.
~/Library/Saved Searches
en OSX 10.10.xSi mantiene presionado option
el botón (+) para agregar un criterio de búsqueda, se convertirá en un (…) y un Any/All/None
bloque. Establézcalo en Ninguno .
Para los criterios seleccione Document Container
. No estará en la lista predeterminada junto con Name
, Kind
, etc. Seleccione Other…
para seleccionarlo de una lista de criterios adicionales, siempre que tenga su propia función de búsqueda :
Establézcalo en el nombre de la carpeta que le gustaría excluir usando lo is/contains/begins with/ends with
que considere adecuado.
El resultado final debería ser algo como esto:
Document Container
que no se puede utilizar para excluir carpetas: apple.stackexchange.com/questions/132860/… (No funciona para mí en 10.8.5)Quiero agregar que si el "Contenedor de documentos" no funciona para usted (como es mi problema), puede configurar la Carpeta de búsqueda para activar o desactivar carpetas específicas.
Perdóneme, no tengo los "representantes" para publicar imágenes, así que haré lo mejor que pueda. Esta es mi primera publicación, así que siéntase libre de llamar la atención.
Para el flujo de trabajo de mi organización musical, quería que la carpeta de iTunes ocultara las subcarpetas erróneas. Por supuesto, mover carpetas fuera de la carpeta de iTunes no era una opción, ya que rompería/asustaría a iTunes para volver a crear esas mismas carpetas. Así es como logré esto modificando el método anterior de Lake:
Kind
> is
>Folder
option
y (+), seleccione Any
of the following are true
(esto es para optar por las carpetas) Para excluir las carpetas como Lake mencionó anteriormente, cambie "Cualquiera" a "Ninguno".Any
opción que se veía así (por ejemplo, se usan los nombres reales de las carpetas):
Name
is
"Agregar automáticamente a iTunes"
Name
is
"Música"
Name
is
"MÚSICA PARA AGREGAR - CARPETA PRINCIPAL"
Name
is
"Resultados de TuneUp"
Name
is
"Etiquetado de MusicBrainz"
Entonces, el resultado final es que cuando hago clic en la búsqueda inteligente (ubicada en la barra lateral del Finder para mí), solo veré las 5 carpetas que quiero sin destruir el diseño de carpeta inherente de la carpeta principal en la que residen.
Espero que esto ayude.
Actualmente, no creo que esto se pueda hacer. Parece que hay bastantes personas que intentan hacer esto que Google encuentra y nadie tiene una respuesta real (aparte de la exclusión de privacidad) :(
En el buscador, cuando busca archivos, puede excluirlos agregando menos delante de los criterios. Por ejemplo, quiero buscar todos los archivos que no son archivos pdf, puedo escribir "Tipo es -pdf". Esto parece funcionar para mí.
Estoy bastante seguro de que he encontrado una manera diferente de hacer esto.
Al configurar la carpeta inteligente, utilice un atributo de búsqueda de consulta sin formato. De manera predeterminada, esto no se encuentra en el menú desplegable de atributos de búsqueda, por lo que deberá encontrarlo haciendo clic en Otro en la parte inferior del menú desplegable.
En el cuadro de entrada junto a Consulta sin procesar, escriba:
kMDItemPath != "/Users/yourname/Documents/foldertoexclude"
en el que el texto entre comillas es el nombre de la ruta de la carpeta a excluir, que se puede encontrar a través de Obtener información.
Basado en la respuesta de @Lri , escribí un flujo de trabajo de Automator con el script de Apple a continuación. No es muy sutil y aún queda mucho por desarrollar (por ejemplo, rutas relativas a la carpeta de búsqueda), pero funciona como un concepto básico.
set savedSearch to path/to/.savedSearch
set exPath to (POSIX path of ((choose folder with prompt "Directory to exclude") as alias)) as text
set userPath to (POSIX path of (path to home folder as alias)) as text
set xmlExclude to "-" & (characters 1 thru -2 of findAndReplaceInText(exPath, userPath, ""))
set cmd to "/usr/bin/plutil -insert SearchCriteria.FXScopeArrayOfPaths.1 -string " & quoted form of xmlExclude & " " & quoted form of savedSearch
do shell script cmd
on findAndReplaceInText(theText, theSearchString, theReplacementString)
set AppleScript's text item delimiters to theSearchString
set theTextItems to every text item of theText
set AppleScript's text item delimiters to theReplacementString
set theText to theTextItems as string
set AppleScript's text item delimiters to ""
return theText
end findAndReplaceInText
on split(theString, theDelimiter)
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to theDelimiter
set theArray to every text item of theString
set AppleScript's text item delimiters to oldDelimiters
return theArray
end split
Yo también sufría el mismo problema y encontré una manera de hacerlo.
Vaya a Sistema de preferencias > Spotlight > Seleccionar, luego seleccione la pestaña "Privacidad" y puede agregar ubicaciones específicas para excluir en la búsqueda de Spotlight.
Lo he intentado, funciona.
Cesio
usuario1457323