5 votos

Comando de terminal para eliminar el icono personalizado de un archivo (HFS+)

Contexto

En Mac OS X / MacOS puede seleccionar un archivo en el Finder, haga clic en Información y, a continuación, haga clic en el icono, y pegar cualquier imagen / icono que se encuentra en el portapapeles. Ahora este archivo tiene un icono personalizado hecho de esta imagen.

Para eliminarlo, lo habitual es seleccionar el archivo, hacer clic en Información, seleccionar el icono personalizado y, a continuación, pulsar delete y elimina el icono personalizado, restaurando el predeterminado.

Pregunta

¿Hay alguna manera de eliminar estos iconos personalizados de estos archivos sin ¿tener que abrir una ventana del Finder? ¿Por ejemplo con un comando de Terminal?

Por qué

Un archivo tiene un icono personalizado corrupto, abrir el Finder en esta carpeta hace que el Finder se ponga en beachball y el HDD se vuelva loco. Pero todavía puedo acceder al contenido de la carpeta, y este archivo, desde la línea de comandos, si no abro primero una ventana del Finder. Así que estoy pensando que "sólo" tengo que acceder a los metadatos de manera diferente para eliminar el icono personalizado.

5voto

user3439894 Puntos 5883

Para archivos con un icono , MacOS escribe el datos del icono como horquilla de recursos a la archivo . Utilice el xattr comando de la siguiente forma:

xattr -d com.apple.ResourceFork /path/to/filename

Para más información sobre el xattr comando , en Terminal escriba lo siguiente comando y pulsa: enter

man xattr

O simplemente escriba xattr y, a continuación, haga clic con el botón derecho y seleccione: Abrir la página del hombre


Para carpetas a medida icono , en Terminal cambie el directorio a carpeta que contiene el icono por ejemplo:

cd /path/to/foo

Una vez en el directorio utilice lo siguiente comando para eliminar el icono :

rm Icon?

Tenga en cuenta que también puede utilizar simplemente:

rm /path/to/foo/Icon?

Sin embargo, no puede utilizar citas individual o doble, si el ruta tiene espacios y debe escapar del espacios con un barra diagonal inversa , \ por ejemplo:

rm /path/to/foo\ bar/Icon?

Citando la ruta sólo devolverá el siguiente error:

: No such file or directory

Por defecto, Icon? es un archivo oculto y el ? en Icon? es en realidad un salto de línea, \n carácter.

0 votos

¿No se pueden almacenar otras cosas en el tenedor de recursos? Si es así, ¿no xattr -d com.apple.ResourceFork myfile ¿borrar todos esos activos, incluidos los que no son el icono?

1 votos

@Tom, En las versiones modernas de MacOS sólo se utiliza de esta manera y se puede eliminar de forma segura para lo que el OP necesitaba hacer. Hay otros atributos ampliados que uno no quiere borrar pero tienen un nombre diferente, por ejemplo com.apple.FinderInfo , com.apple.metadata:kMDItemDownloadedDate: , com.apple.metadata:kMDItemWhereFroms etc.

0 votos

Puede entrecomillar la ruta con espacios. Sólo tienes que quitar las barras invertidas. O se entrecomilla, o se escapa con barras invertidas, no ambas cosas. "/some path/with spaces/" o /some\ path/with\ spaces/ .

1voto

Darren Puntos 160

Una alternativa es utilizar SetFile para desactivar el icono personalizado del archivo:

SetFile -a c /path/to/file

Una diferencia entre esto y xattr -d com.apple.ResourceFork es el xattr -d destruye los datos de la imagen en la bifurcación de recursos del archivo, mientras que SetFile deja los datos en su sitio. Si deja los datos en su lugar, puede restaurar el icono personalizado más tarde, así:

SetFile -a C /path/to/file # note the lettercase

Si lo desea, puede extraer el icono personalizado en un archivo separado antes de eliminarlo completamente del archivo:

DeRez -only icns /path/to/file > extracted.rsrc

(Tenga en cuenta que esto copia los datos hacia fuera. Todavía tendría que eliminar el icono incrustado utilizando xattr .)

También debo señalar que xattr -d deja el bit de "icono personalizado" activado, lo que significa que si alguna vez insertas nuevos datos icns en la bifurcación de recursos del archivo, se mostrarán inmediatamente. Por lo tanto, creo que si realmente quieres hacer el archivo tan vainilla como sea posible, usted debe hacer las dos cosas: eliminar el tenedor, y desactive el bit personalizado. (Pero realmente no sé si importa).

(Por cierto, puede insertar datos de iconos personalizados de esta forma:)

Rez -append icon.rsrc -o /path/to/file

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X