Komprimieren ohne .DS_Store und __MACOSX

24

Wenn ich einen Ordner oder eine Datei durch Klicken mit der rechten Maustaste unter Mac OS X komprimiere, enthält die archivierte Datei die Ordner .DS_Store und __MACOSX . Da ich die archivierte Datei online zum Herunterladen freigebe, versuchen Windows-Benutzer fälschlicherweise, die Datei im Ordner __MACOSX zu durchsuchen .

Ich brauche eine sauberere Archivoption. Ich möchte nicht die Ordner .DS_Store und __MACOSX , sondern nur die Datei oder den Ordner in die Archivdatei aufnehmen.

Ich habe nur CleanArchiver gefunden, aber es ist eine GUI-Anwendung. Es braucht wirklich Zeit und ich muss viele Dateien komprimieren. Ich suche nach einer Lösung über das Kontextmenü, wenn möglich.

Gibt es eine Lösung, die Sie für eine saubere Komprimierung empfehlen können?

John Bernard
quelle

Antworten:

32

Sie können den Befehl zip in Terminal verwenden, um die Dateien ohne die Dateien .DS_Store , __MACOSX und andere. * -Dateien zu komprimieren .

Terminal öffnen (Terminal im Rampenlicht suchen)
Navigieren Sie mit dem Befehl cd zu dem Ordner, den Sie komprimieren möchten.
Fügen Sie dies einzip -r dir.zip . -x ".*" -x "__MACOSX"

Beispiel: Angenommen, Sie haben auf Ihrem Desktop einen Ordner mit dem Namen "Ordner" mit zu komprimierenden Inhalten.
Öffnen Sie das Terminal und schreiben Sie folgende Befehle:
cd Desktop/Folder
zip -r dir.zip . -x ".*" -x "__MACOSX"

Jetzt haben Sie eine Datei namens dir.zip ohne __MACOSX- und. * -Dateien im Ordner Ordner auf Ihrem Desktop.

iTunes
quelle
1
+1 Können Sie das in einen Automator-Service einbinden?
fd0
3
Wenn Sie zipdie Zip-Datei erstellen, wird "__MACOSX /" technisch gesehen zunächst gar nicht erstellt. Alles, was Sie wirklich brauchen, ist zip -r dir.zip .. Wenn sich jedoch "__MACOSX /" irgendwie hineingeschlichen hat, wird Ihre Lösung es los.
Edward Falk
2
Sie können auch leicht überprüfen, ob Ihre Zip-Datei nicht __MACOSX enthält, indem Sie in die Konsole zipinfo dir.zip
eingeben
13

Nur ein paar zusätzliche Informationen ...

Nach meinem Verständnis ist __MACOSX ein Unterverzeichnis, das von den Mac-GUI-Tools künstlich erstellt wurde, um Metadaten wie erweiterte Attribute zu speichern, die normalerweise nicht in einer Zip-Datei gespeichert werden können.

Wenn Sie die Mac-GUI-Tools zum Entpacken der Zip-Datei verwenden, wissen die Tools, was mit __MACOSX zu tun ist, und das Verzeichnis wird nicht entpackt.

Die Probleme treten auf, wenn Sie Ihre ZIP-Datei an Windows- oder Linux-Benutzer senden oder sie einfach mit dem Universalprogramm unzipentpacken. Diese Tools wissen nicht, dass __MACOSX etwas Besonderes ist, und entpacken es einfach.

Die einfachste Option ist das zipPacken Ihrer Zip-Datei anstelle des in Mac integrierten Tools. zip__MACOSX wird nicht erstellt und Ihr Problem ist gelöst. (Sie werden dabei die Metadaten verlieren, aber Sie wollten sie wahrscheinlich trotzdem nicht.)

zip -r dir.zip .

Wenn es zu spät ist und Sie bereits eine Zip-Datei mit __MACOSX haben, können Sie diese trotzdem entfernen mit:

zip -d foo.zip __MACOSX .DS_Store

Schließlich ist die akzeptierte Antwort die beste, denn wenn __MACOSX aus irgendeinem Grund tatsächlich in Ihrem Verzeichnis vorhanden ist (z. B. weil Sie es zuvor unziperstellt haben), verhindert die Option -x, dass es gepackt wird.

Edward Falk
quelle
4

Probieren Sie Keka . Es wird mit einer Option zum Ausschließen von .DS_Store geliefert

Geben Sie hier die Bildbeschreibung ein

Oh ho
quelle
2

Nur eines, das ich jemals wirklich benutzt habe, ist BetterZip [$ 20]

Es handelt sich um eine GUI-App, die jedoch Applescript & Services-Unterstützung bietet, mit der Sie Voreinstellungen mit Ihren Standardeinstellungen ausführen können - einschließlich des Weglassens von Mac-spezifischen Dateien wie .DS_Store & __MACOSX. Möglicherweise einen Blick wert.

Aus der BetterZip-Hilfe ...

BetterZip unterstützt zwei Dienste: einen zum Extrahieren und einen zum Erstellen von Archiven. Sie können konfigurieren, was die BetterZip-Dienste mit Voreinstellungen tun.

Um einen Dienst zu verwenden, wählen Sie im Finder eine oder mehrere Dateien oder Ordner aus und wählen Sie im Kontextmenü Finder> Dienste oder im Untermenü Dienste die Option Mit BetterZip komprimieren oder Mit BetterZip extrahieren.

Sie können sogar Tastaturkürzel für die BetterZip-Dienste festlegen, z. B. ^ ⌥⌘C zum Komprimieren und ^ ⌥⌘E zum Extrahieren. Um Verknüpfungen für Dienste festzulegen, gehen Sie zu Systemeinstellungen> Tastatur> Tastaturkürzel und wählen Sie in der linken Tabelle Dienste aus. Scrollen Sie in der rechten Tabelle zu Dateien und Ordner, wählen Sie Mit BetterZip komprimieren und drücken Sie ↩. Ein bearbeitbares Textfeld wird angezeigt. Drücken Sie die gewünschte Verknüpfung.

Eine meiner Save-Voreinstellungen ...

Geben Sie hier die Bildbeschreibung ein

Tetsujin
quelle
Das ist eine gute GUI-Option für Setapp-Benutzer.
Leo