Bearbeiten Sie die Symbole für Mac OS X-Dateien über Automator oder die Befehlszeile

7

Gibt es eine Möglichkeit, Symbole in einer Mac OS X-Datei entweder über Automator oder über das Terminal zu bearbeiten?

In meinem Fall möchte ich benutzerdefinierte Symbole (dh das Gleiche wie "Informationen abrufen" und "Bearbeiten-> Ausschneiden des Symbols") aus einer großen Anzahl von Dateien entfernen.

Joachim
quelle
Bitte akzeptieren Sie übrigens Antworten auf Ihre alten Fragen, wenn diese beantwortet wurden. Alles hier funktioniert mit Reputationspunkten, die durch Aktivieren des Häkchens neben den Antworten vergeben werden. Sie können alte Fragen in Ihrem Profil anzeigen.

Antworten:

9

Ich habe diese Frage bereits 2007 gestellt. Eine Kombination von 3 OS X-Tools kann dies tun. Sie müssen Developer Tools installiert haben und dann Folgendes überprüfen: / Developer / Tools / Rez, DeRez und SetFile.

Sie können 'sips' verwenden, um einer Bilddatei ein benutzerdefiniertes Symbol für sich selbst zu geben ('sips' wirkt sich auf die Originaldatei aus, sodass das Bearbeiten einer Kopie möglicherweise sicherer ist):

/bin/cp imagefile.jpg donorfile.jpg
/usr/bin/sips -i donorfile.jpg

Wenn Sie einer Bilddatei nur ein benutzerdefiniertes Miniaturbildsymbol geben möchten, können Sie dort anhalten.

Andernfalls können Sie, wenn Sie die Tools "Developer" / "X Code" installiert haben, die Ressourcen mit "DeRez" und "Rez" bearbeiten, um die neu erstellte "icns" -Ressource in eine Datei zu kopieren:

/Developer/Tools/DeRez -only icns donorfile.jpg > tempicns.rsrc

Kopieren Sie dann die temporäre Datei in die icns-Ressource der Empfängerdatei und legen Sie das Attribut für die benutzerdefinierte Symboldatei fest:

/Developer/Tools/Rez -append tempicns.rsrc -o recipientfile.xyz
/Developer/Tools/SetFile -a C recipientfile.xyz

Starten Sie abschließend den "Finder" neu, um die Änderungen anzuzeigen:

/usr/bin/osascript -e 'tell application "Finder" to quit' -e 'delay 2' -e 'tell application "Finder" to activate'

Ursprünglicher Frage- und Antwort-Thread: http://forums.macosxhints.com/showpost.php?p=372418&postcount=7


quelle
3

Ich bin nicht sicher über Automator, aber es ist möglich , von Kakao mit

[[NSWorkspace sharedWorkspace] setIcon:nil
                               forFile:@"/path/to/file"
                               options:0];

oder als einfaches Python-Skript:

#!/usr/bin/python

from AppKit import NSWorkspace
import sys

for path in sys.argv[1:]:
    NSWorkspace.sharedWorkspace().setIcon_forFile_options_(None, path, 0)
Cobbal
quelle
1

Danke für das Python-Skript. Ich habe eine Version erstellt, um das Symbol als JPEG zu extrahieren

#!/usr/bin/python
# python script that extract an icon from an OSX file and save it at jpeg

from AppKit import *
import sys

for path in sys.argv[1:]:
NSBitmapImageRep.imageRepWithData_(NSWorkspace.sharedWorkspace().iconForFile_(path).TIFFRepresentation()).representationUsingType_properties_(NSJPEGFileType, None).writeToFile_atomically_(path+".jpg", None)
Perki
quelle
0

xattrwürde das benutzerdefinierte Symbol entfernen, wenn der Datei Metadaten zugeordnet sind, da ich versucht habe, die Metada zu entfernen, und nur das benutzerdefinierte Symbol entfernt wurde. Überprüfen Sie jedoch, ob der Datei neben dem benutzerdefinierten Symbol im com.apple.FinderTag noch eine andere Metada zugeordnet ist . Der Weg dazu ist:

xattr -d com.apple.Finder filename

Für weitere Optionen:

xattr --help

Sie können zunächst überprüfen, ob die Datei verknüpft ist xattr, wenn Sie die @Markierung unmittelbar nach den Berechtigungen ls -lfür die Datei finden. Wieder hatte ich nichts außer einem benutzerdefinierten Symbol, das der Datei zugeordnet war, und der obige Befehl entfernte es ordentlich. Vielleicht hat Ihre Datei mehr als nur das benutzerdefinierte Symbol, das diesem Tag zugeordnet ist. Ich bin kein Experte für Metadaten.

ismail
quelle