60 votos

Cómo puedo cambiar un icono de archivo o carpeta utilizando el Terminal

¿Cómo puedo cambiar o establecer el icono para un archivo o carpeta, en la terminal, ¿es necesario utilizar un lenguaje de scripts?

22voto

Felix Andersen Puntos 604

Con el beneficio de varios años de distancia:

user588 la respuesta y koiyu la respuesta de funcionar bien, pero se basan en las utilidades (Rez, DeRezy SetFile) que:

  • no se instalan por defecto (vienen con Xcode o el desarrollador de utilidades de línea de comandos)
  • ahora están en desuso (Rez y DeRez, ya que se relacionan de Carbono)

osxiconutils se ven interesantes, pero no compilará más (como la de OSX 10.10.4).


Por lo tanto, he creado CLI fileicon, que se debe trabajar en las cristalinas aguas de la OSX de la máquina (sin requisitos); es un script en Bash basa principalmente en xattr y sips.

Permite la configuración de/quitar/extraer iconos personalizados para/de archivos o carpetas.

Se puede instalar de la siguiente manera:

  • Si usted tiene Node.js instalado, desde el mecanismo nacional de prevención de registro, con
    [sudo] npm install -g fileicon
  • De otra manera:
    • Descargar el CLI como fileicon (este enlace estancia actual).
    • Hacerlo ejecutable con chmod +x fileicon.
    • Mover o enlace a una carpeta en su $PATH, como /usr/local/bin (requiere sudo).

Aquí está la información de uso; para obtener información completa, consulte el manual:

$ fileicon -h

Set a custom icon for a file or folder:

    fileicon set      <fileOrFolder> <imageFile>

 Remove a custom icon from a file or folder:

    fileicon rm       <fileOrFolder>

 Get a file or folder's custom icon:

    fileicon get [-f] <fileOrFolder> [<iconOutputFile>]

 Test if a file or folder has a custom icon:

    fileicon test     <fileOrFolder>

 -q ...  silence status output

 Standard options: --help, --man, --version, --home

19voto

Tundey Puntos 2145

Yo casi inició una recompensa por esto, porque no he podido cambiar el icono de una carpeta con @mankoff's respuesta. Pero he encontrado una solución.


Para cambiar la carpeta icono que no apuntan Rez -append tmp.rsrc a la carpeta, pero una especial Icon\r archivo dentro de la carpeta. Si usted no ha establecido un icono personalizado a la carpeta antes, el archivo, probablemente, no va a existir, pero Rez crea sobre la marcha. La eliminación de la Icon\r archivo se eliminará el icono personalizado, por lo que para prevenir los accidentes es bueno estar oculto.

Estas son las modificaciones a la mankoff la respuesta:

# Append a resource to the folder you want to icon-ize.
Rez -append tmpicns.rsrc -o $'myfolder/Icon\r'

# Use the resource to set the icon.
SetFile -a C myfolder/

# Hide the Icon\r file from Finder.
SetFile -a V $'myfolder/Icon\r'

9voto

kolen Puntos 101

Además de rubí, aquí es una versión de Python:

#!/usr/bin/env python
import Cocoa
import sys

Cocoa.NSWorkspace.sharedWorkspace().setIcon_forFile_options_(Cocoa.NSImage.alloc().initWithContentsOfFile_(sys.argv[1].decode('utf-8')), sys.argv[2].decode('utf-8'), 0) or sys.exit("Unable to set file icon")

./set-image.py image.png myfile

Python que preinstaladas en Mac OS ya tiene PyObjC así que no tienes que instalar los paquetes.

7voto

Jeff Bloom Puntos 155

Echale un vistazo setfileicon (código fuente), una utilidad creada por Damien Bobillot.

Descargar el binario aquí: http://maxao.free.fr/telechargements/setfileicon.gz

Después de desempacar el archivo, hacerlo ejecutable:

chmod +x setfileicon

Entonces se puede utilizar como sigue:

./setfileicon "my-icon.icns" "my-file-or-directory"

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