Context
In Mac OS X / macOS you can select a file in the Finder, click Informations then click the icon, and paste any image/icon that is in the clipboard. Now this file has a custom icon made of this image.
To remove it, the usual way is to select the file, click Informations, select the custom icon then hit delete and it removes the custom icon, restoring the default one.
Question
Is there a way to remove these custom icons from these files without having to open a Finder window? For example with a Terminal command?
Why
A file has a corrupted custom icon, opening the Finder in this folder causes the Finder to beachball and the HDD to freak out. But I still can access the folder content, and this file, from the command line, if I don't first open a Finder window. So I'm thinking that I "just" need to access the metadata differently to remove the custom icon.
Best Answer
For files with a custom icon, macOS writes the icon data as a resource fork to the file. Use the
xattr
command in the following form:For more information about the
xattr
command, in Terminal type the following command and press: enterOr just type
xattr
and then right-click on it and select: Open man PageFor folders with custom icon, in Terminal, change directory to the folder containing the custom icon, e.g.:
Once in the directory, use the following command to remove the custom icon:
Note that you can also just use:
However, you cannot use quotes, single or double, if the pathname has spaces and must escape the spaces with a backslash,
\
, e.g.:Quoting the pathname will just return the following error:
By default,
Icon?
is a hidden file and the?
inIcon?
is actually a linefeed,\n
, character.