¿Cómo muestro u oculto las extensiones de varios archivos en una Mac?

¿Cómo muestro u oculto las extensiones de varios archivos en una Mac?

Las variaciones de esta pregunta casi siempre describen un tedioso proceso de "Obtener información" uno a la vez para marcar o desmarcar "ocultar extensión", O usar un enfoque de martillo usando Finder -> Preferencias -> Avanzado -> Mostrar todos los archivos extensiones. Encontré una manera de manejar lotes de archivos todos a la vez, usando Terminal.app con una sola línea de comando.

Necesita la utilidad de desarrollador llamada "SetFile". Si tiene eso en /Desarrollador/Herramientas, cree un alias (ln -s) en su $PATH, o agregue la ruta a su $PATH. Ahora, cada archivo tiene "atributos", que puedes ver con la utilidad complementaria "GetFileInfo". Estas son letras, ya sean MAYÚSCULAS o minúsculas. "E" y "e" indican "ocultar" o "mostrar" la extensión. Puedes cambiar fácilmente entre ellos con SetFile. Pero también puede introducir un conjunto de nombres de archivos en SetFile y hacerlos TODOS con una línea de comando. He aquí un ejemplo sencillo:

Tengo un montón de documentos .doc (MS Word), algunos muestran la extensión y otros la ocultan. Yo lo que TODOS ellos para mostrar la extensión. Supongamos que están en alguna carpeta. Navegue hasta la carpeta y haga esto:

 ls -1 *.doc | tr " " "?" | xargs -L1 SetFile -a 

El -1 proporciona cada nombre de archivo en su carpeta con la extensión deseada. El comando "tr" traduce los espacios en blanco en los nombres de los archivos a "?", lo que significa un carácter de coincidencia única para que los nombres no tengan espacios en blanco. Luego, "xargs -L1" envía cada nombre a "SetFile -a e", que dice "mostrar" la extensión de ese archivo. Si ya se está mostrando, así sigue.

Es posible que a SetFile no le gusten los nombres con "?" en ellos, pero ciertamente no le gustan los nombres con espacios en blanco a menos que el argumento del archivo para SetFile esté entre comillas. Desafortunadamente, "xargs" dividirá los nombres con espacios en blanco en ejecuciones separadas de SetFile, lo cual es aún peor.

Por último, si desea "ocultar" todas las extensiones, utilice "SetFile -a E" en su lugar.

información relacionada