Al buscar con el Finder, el kind:
se rellena a partir de varios campos del índice Spotlight. Así como kMDItemKind
puede utilizar elementos del campo multivaluado kMDItemContentTypeTree
donde sean apropiados.
La naturaleza compleja (no obvia) del kind:
puede verse mediante una búsqueda en el Finder con kind:document
. Así como los archivos con "documento" en algún lugar de la kMDItemKind
esto encuentra archivos con otras palabras en el campo kMDItemKind
campo. A modo de ejemplo, los resultados de la búsqueda incluyen algunos .gpx
archivos (registros de seguimiento) que tienen el texto "Archivo GPX" en el kMDItemKind
campo. Finder/Spotlight está identificando estos como documentos basados en el kMDItemContentTypeTree
campo que es:
kMDItemContentTypeTree = (
"com.apple.dt.document.gpx",
"public.xml",
"public.text",
"public.data",
"public.item",
"public.content"
)
El public.text indica un archivo legible como un "documento".
La discusión anterior es principalmente para mostrar que predecir exactamente lo que se devolverá con un kind:
La búsqueda en el buscador no es sencilla. Sin embargo, el contenido del kMDItemKind
campo es una parte clave de esto. Así que tiene cierto valor saber qué kind:
están disponibles en kMDItemKind
.
La lista de tipos en kMDItemKind
sólo está limitado por sus archivos reales y por la forma en que los importadores de Spotlight rellenen el campo. Veamos cómo obtener una lista de "tipos":
Método 1:
Podemos inspeccionar los metadatos spotlight de cada archivo y extraer sólo el atributo kMDItemKind. Eso listará todos los Kinds que devolverán resultados. El script que doy aquí es extremadamente lento, así que:
- Ejecutarlo sólo sobre los directorios importantes (no sobre todo)
- Espero que alguien pueda hacerlo más eficiente
Mi línea script (que se ejecuta en mi carpeta de Documentos):
find ~/Documents -type f -exec mdls -name kMDItemKind '{}' \; | sort -u -o DocumentsKind.txt
Si no es obvio, esto ejecuta el comando find para obtener todos los archivos (-type f), ejecuta el comando mdls en su salida para obtener sólo los metadatos de Kind, y finalmente se canaliza en sort que también elimina las líneas duplicadas.
El inicio del archivo de salida para mi carpeta de Documentos es:
kMDItemKind = "7-Zip Archive"
kMDItemKind = "AIFF audio"
kMDItemKind = "ASCII graphic document"
kMDItemKind = "Adobe Illustrator File"
kMDItemKind = "Adobe Photoshop PCX file"
kMDItemKind = "Adobe Photoshop actions file"
kMDItemKind = "Adobe Photoshop file"
kMDItemKind = "Adobe Photoshop monitor setup file"
kMDItemKind = "Alias"
kMDItemKind = "Apple icon image"
.......
Método 2 (mucho más fácil):
Utilice la aplicación Exportación de listas de archivos de la App Store. Para cualquier carpeta, listará todos los archivos debajo de ella y con muchos atributos. Y esos atributos incluyen el "Tipo".
La enorme tabla de resultados se puede exportar a un CSV o directamente a Excel, donde se puede ordenar por tipo y eliminar los duplicados.
Nota: Los dos métodos no me dieron exactamente la misma lista.