Kompres tanpa .DS_Store dan __MACOSX

24

Ketika saya mengompres folder atau file dengan menu klik kanan Mac OS X, file yang diarsipkan berisi folder .DS_Store dan __MACOSX . Karena saya membagikan file yang diarsipkan secara online untuk diunduh, pengguna Windows secara keliru mencoba mencari file di folder __MACOSX .

Saya perlu memiliki opsi arsip bersih. Saya tidak ingin memasukkan folder .DS_Store dan __MACOSX , tetapi hanya file atau folder ke dalam file arsip.

Yang saya temukan adalah CleanArchiver tetapi itu adalah aplikasi GUI. Ini benar-benar membutuhkan waktu dan saya punya banyak file untuk dikompres. Saya mencari solusi dengan menu konteks jika memungkinkan.

Apakah ada solusi yang dapat Anda rekomendasikan untuk mengompresi bersih?

John Bernard
sumber

Jawaban:

33

Anda dapat menggunakan perintah zip di Terminal untuk zip file tanpa file .DS_Store , __MACOSX dan file. * Lainnya.

Buka Terminal (cari terminal dalam sorotan)
Navigasikan ke folder yang ingin Anda zip menggunakan perintah cd
Tempel inizip -r dir.zip . -x ".*" -x "__MACOSX"

Contoh: Misalkan Anda memiliki folder di desktop yang disebut Folder dengan barang untuk di-zip.
Buka terminal dan tulis perintah berikut:
cd Desktop/Folder
zip -r dir.zip . -x ".*" -x "__MACOSX"

Sekarang Anda memiliki sebuah file yang bernama dir.zip tanpa __MACOSX dan. * File dalam Folder folder pada desktop Anda.

iTunes
sumber
1
+1 Bisakah Anda membungkusnya menjadi layanan automator?
fd0
4
Secara teknis, jika Anda menggunakan zipuntuk membuat file zip, "__MACOSX /" tidak akan dibuat, jadi yang Anda butuhkan hanyalah zip -r dir.zip .. Namun, jika "__MACOSX /" entah bagaimana menyelinap ke sana, solusi Anda akan menyingkirkannya.
Edward Falk
2
Anda juga dapat dengan mudah memverifikasi bahwa file zip Anda tidak memiliki __MACOSX di dalamnya dengan mengetikkan konsolzipinfo dir.zip
Fostah
13

Hanya beberapa informasi tambahan ...

Pemahaman saya adalah bahwa __MACOSX adalah subdirektori yang dibuat secara artifisial oleh alat GUI Mac untuk menyimpan data meta seperti atribut tambahan yang biasanya tidak dapat disimpan dalam file zip.

Jika Anda menggunakan alat GUI Mac untuk membongkar file zip, maka alat tersebut akan tahu apa yang harus dilakukan dengan __MACOSX dan direktori tidak akan benar-benar dibongkar.

Masalah terjadi ketika Anda mengirim file .zip Anda ke pengguna Windows atau Linux, atau hanya menggunakan unzipprogram tujuan umum untuk membongkar mereka. Alat-alat itu tidak akan tahu bahwa __MACOSX adalah khusus, dan hanya akan membukanya.

Opsi paling sederhana adalah menggunakan zipuntuk mengemas file zip Anda alih-alih alat bawaan Mac. ziptidak akan membuat __MACOSX dan masalah Anda terpecahkan. (Anda akan kehilangan meta data dalam proses, tetapi Anda mungkin juga tidak menginginkannya.)

zip -r dir.zip .

Jika sudah terlambat, dan Anda sudah memiliki file zip dengan __MACOSX, Anda masih dapat menghapusnya dengan:

zip -d foo.zip __MACOSX .DS_Store

Akhirnya, jawaban yang diterima adalah yang terbaik karena jika karena alasan tertentu __MACOSX benar-benar ada di direktori Anda (misalnya karena Anda sebelumnya pernah unzipmembuatnya), opsi -x akan membuatnya tidak dikemas.

Edward Falk
sumber
4

Coba Keka . Itu datang dengan opsi untuk mengecualikan .DS_Store

masukkan deskripsi gambar di sini

ohho
sumber
2

Hanya satu yang pernah saya gunakan adalah BetterZip [$ 20]

Ini adalah aplikasi GUI, tetapi memiliki dukungan Applescript & Layanan, yang dengannya Anda dapat menjalankan preset dengan pengaturan default Anda - termasuk menghilangkan file spesifik Mac seperti .DS_Store & __MACOSX. Mungkin patut dilihat.

Dari Bantuan BetterZip ...

BetterZip mendukung dua layanan: satu untuk mengekstraksi dan satu untuk membuat arsip. Anda dapat mengonfigurasi apa yang akan dilakukan layanan BetterZip dengan preset.

Untuk menggunakan layanan, pilih satu atau lebih file atau folder di Finder dan pilih Compress with BetterZip atau Extract dengan BetterZip dari menu Finder> Services atau submenu Services di menu kontekstual.

Anda bahkan dapat mengatur pintasan keyboard untuk layanan BetterZip, misalnya, ^ ⌥⌘C untuk mengompresi dan ^ ⌥⌘E untuk mengekstraksi. Untuk mengatur pintasan untuk layanan, buka System Preferences> Keyboard> Pintasan Keyboard dan pilih Layanan di tabel sebelah kiri. Di tabel sebelah kanan, gulir ke File dan Folder, pilih Kompres dengan BetterZip dan tekan ↩. Bidang teks yang dapat diedit akan muncul. Tekan pintasan yang diinginkan.

Salah satu Simpan saya ...

masukkan deskripsi gambar di sini

Tetsujin
sumber
Itu pilihan GUI yang bagus untuk pengguna Setapp.
Leo