5 votes

Commande de terminal pour supprimer l'icône personnalisée d'un fichier (HFS+)

Contexte

Sous Mac OS X / MacOS, vous pouvez sélectionner un fichier dans le Finder, cliquer sur Informations, puis sur l'icône, et coller n'importe quelle image/icône qui se trouve dans le presse-papiers. Ce fichier a maintenant une icône personnalisée faite à partir de cette image.

Pour le supprimer, la méthode habituelle consiste à sélectionner le fichier, à cliquer sur Informations, à sélectionner l'icône personnalisée et à cliquer sur delete et il supprime l'icône personnalisée, rétablissant l'icône par défaut.

Question

Existe-t-il un moyen de supprimer ces icônes personnalisées de ces fichiers ? sans de devoir ouvrir une fenêtre du Finder ? Par exemple avec une commande Terminal ?

Pourquoi

Un fichier a une icône personnalisée corrompue, l'ouverture du Finder dans ce dossier provoque l'effondrement du Finder et la défaillance du disque dur. Mais je peux toujours accéder au contenu du dossier, et à ce fichier, à partir de la ligne de commande, si je n'ouvre pas d'abord une fenêtre du Finder. Je pense donc qu'il me faut "simplement" accéder différemment aux métadonnées pour supprimer l'icône personnalisée.

5voto

user3439894 Points 52496

Pour fichiers avec un icône , MacOS écrit le données de l'icône en tant que fourchette de ressources à la fichier . Utiliser le xattr commande sous la forme suivante :

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

Pour plus d'informations sur le xattr commande , en Terminal tapez ce qui suit commande et appuyez sur : enter

man xattr

Ou tapez simplement xattr puis cliquez avec le bouton droit de la souris et sélectionnez : Ouvrir la page homme


Pour dossiers avec personnalisation icône , en Terminal Changez de répertoire et passez à l'adresse suivante dossier contenant les données personnalisées icône , par exemple :

cd /path/to/foo

Une fois dans le répertoire utiliser ce qui suit commande pour supprimer le texte personnalisé icône :

rm Icon?

Notez que vous pouvez aussi utiliser simplement :

rm /path/to/foo/Icon?

Cependant, vous ne pouvez pas utiliser citations , simple ou double, si le chemin d'accès a espaces et doivent échapper à la espaces avec un barre oblique inverse , \ , par exemple :

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

Citant le chemin d'accès renverra simplement l'erreur suivante :

: No such file or directory

Par défaut, Icon? est un fichier caché et le fichier ? en Icon? est en fait un saut de ligne, \n , caractère.

1voto

Darren Points 160

Une autre solution consiste à utiliser SetFile pour désactiver la fonction "icône personnalisée" du fichier :

SetFile -a c /path/to/file

Il existe une différence entre cette situation et celle de l xattr -d com.apple.ResourceFork est le xattr -d détruit les données de l'image dans le resource fork du fichier, tandis que SetFile laisse les données en place. Si vous laissez les données en place, vous pouvez restaurer l'icône personnalisée ultérieurement, comme suit :

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

Si vous le souhaitez, vous pouvez extraire l'icône personnalisée dans un fichier séparé avant de la supprimer complètement du fichier :

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

(Notez que cette opération permet de copier les données vers l'extérieur. Vous devrez toujours supprimer l'icône intégrée en utilisant la commande xattr .)

Il convient également de noter que xattr -d laisse le bit "custom icon" activé, ce qui signifie que si vous insérez de nouvelles données icns dans le resource fork du fichier, elles apparaîtront immédiatement. Donc, je pense que si vous voulez vraiment rendre le fichier aussi vanille que possible, vous devriez faire les deux : supprimer la fourche, et désactiver le bit personnalisé. (Mais je ne sais vraiment pas si cela a de l'importance).

(BTW, vous pouvez insérer des données d'icônes personnalisées comme suit :)

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X