Komprimieren Sie einen Ordner über eine Befehlszeile, während das Symbol beibehalten wird

0

Ich habe einen Ordner mit einem benutzerdefinierten Symbol (via NSWorkspace‚s setIcon:forFile:options).

Ich möchte den Ordner komprimieren, damit das benutzerdefinierte Symbol nach dem Dekomprimieren erhalten bleibt.

Derzeit rufe ich an

zip -r9 Folder.zip Folder

Wenn ich es über den Finder dekomprimiere, enthält der nicht komprimierte Ordner kein benutzerdefiniertes Symbol und der Ordner enthält ein Element mit dem Namen Icon?.

Wie behebe ich das Problem / wie komprimiere ich den Ordner richtig?

alik
quelle
Ist die Verwendung des traditionelleren tar.gz-Formats akzeptabel? Es enthält Symbolinformationen und macOS kann diese auch mit dem Standard-Dekomprimierer öffnen.
William T Froggard
@William T Froggard, Da zipkann es nicht tun, dann sollten Sie eine Antwort schreiben verwenden , tarda sie sowohl die erfüllt Zeilenbefehl und das Symbol halten Aspekte der Frage. Ich würde es hoch bewerten! :)
user3439894
@ user3439894 Mist, warum nicht. :)
William T Froggard
Ich muss überprüfen, ob andere Teile des Workflows tar.gz-kompatibel sind. Ich nehme an, zip wäre nativer / sicherer, aber ich werde prüfen, ob ich überall benötigte Bibliotheken für tar.gz finde.
Alik
@alik, Wenn die komprimierte Datei auf einem Mac verwendet werden soll, dann sehe ich keinen Grund , warum man nicht ersetzen kann zipmit tar! Das heißt, wenn das Beibehalten des Symbols ein absolutes Muss ist, zipwird es nicht gekürzt und tarist eine Standard-Binärdatei für alle modernen Versionen von OS X / macOS. Es sollte also wirklich kein Problem geben.
user3439894

Antworten:

2

Der Befehlszeilenbefehl zipscheint nicht in der Lage zu sein, bestimmte Aspekte von macOS zu verarbeiten, einschließlich Symbole, aber das traditionellere Unix- tarDienstprogramm kann dies. Sie können davon Gebrauch machen, indem Sie Ihren Befehl durch den folgenden ersetzen (dies komprimiert auch den Ordner mit gzip):

tar -czf Folder.tar.gz Folder
William T Froggard
quelle
Tar ohne das "-" hinter den Optionen ist die Art und Weise, wie BSD es macht, und funktioniert auch mit jeder mir bekannten Version von "tar".
William T Froggard
Ich wusste das nicht und fügte das hinzu, -wie es in der Manpage gezeigt wurde. Natürlich können Sie es jederzeit wieder auf das Original zurücksetzen.
user3439894