Стискайте без .DS_Store та __MACOSX


25

Коли я стиснути папку або файл по меню правою кнопкою миші Mac OS X, то архівний файл містить .DS_Store і __MACOSX папки. Оскільки я поділяюсь заархівованим файлом в Інтернеті для завантаження, користувачі Windows помилково намагаються шукати файл у папці __MACOSX .

Мені потрібно мати більш чистий параметр архіву. Я не хочу , щоб включити .DS_Store і __MACOSX папку, але тільки файл або папку в архіві файл.

Все, що я знайшов, є CleanArchiver, але це програма GUI. Це дійсно потребує часу, і у мене є багато файлів для стиснення. Я шукаю рішення за контекстним меню, якщо це можливо.

Чи є рішення, яке ви можете порекомендувати для чистого стискання?

Відповіді:


33

Ви можете використовувати команду зіп в терміналі , щоб заархівувати файли без .DS_Store , __MACOSX і ін. * Файли.

Відкрити термінал (пошук терміналу в центрі уваги)
Перейдіть до папки, яку ви хочете
скопіювати, використовуючи команду cd Вставити цеzip -r dir.zip . -x ".*" -x "__MACOSX"

Приклад: Скажімо, у вас на робочому столі папка під назвою «Папка» з матеріалами, які потрібно поштовувати.
Відкрийте термінал і запишіть наступні команди:
cd Desktop/Folder
zip -r dir.zip . -x ".*" -x "__MACOSX"

Тепер у вас є файл під назвою dir.zip без файлів __MACOSX і. * У папці «Папка» на робочому столі.


1
+1 Чи можете ви зафіксувати це в службі автоматизації?
fd0

4
Технічно кажучи, якщо ви використовуєте zipдля створення zip-файлу, "__MACOSX /" не буде створено в першу чергу, тому все, що вам дійсно потрібно, це zip -r dir.zip .. Однак, якщо "__MACOSX /" якось прокрадеться там, ваше рішення позбудеться цього.
Едвард Фолк

2
Також ви можете легко переконатися, що у вашому поштовому файлі немає __MACOSX у ньому, ввівши в консоліzipinfo dir.zip
Fostah

13

Просто додаткова інформація ...

Я розумію, що __MACOSX - це підкаталог, який штучно створений інструментами Mac GUI для зберігання метаданих, таких як розширені атрибути, які неможливо нормально зберегти у zip-файлі.

Якщо ви використовуєте інструменти Mac GUI для розпакування zip-файлів, тоді інструменти будуть знати, що робити з __MACOSX, і каталог насправді не розпакується.

Проблеми трапляються, коли ви надсилаєте свій .zip файл користувачам Windows або Linux або просто використовуєте програму загального призначення unzipдля їх розпакування. Ці інструменти не знають, що __MACOSX є особливим, і просто розпакують його.

Найпростіший варіант - використовувати zipдля упаковки zip-файлу замість вбудованого інструменту Mac. zipне створить __MACOSX, і ваша проблема вирішена. (Ви втратите метадані в процесі, але ви, мабуть, цього не хотіли.)

zip -r dir.zip .

Якщо вже пізно, і у вас вже є поштовий файл з __MACOSX, ви все одно можете видалити його за допомогою:

zip -d foo.zip __MACOSX .DS_Store

Нарешті, прийнята відповідь є найкращою, тому що якщо з якоїсь причини __MACOSX насправді існує у вашому каталозі (наприклад, тому, що ви раніше використовували її unzipдля створення), опція -x не дозволить запакувати її.



2

Єдиний, який я коли-небудь справді використовував, - це BetterZip [$ 20]

Це додаток для графічного інтерфейсу, але має підтримку Applescript & Services, за допомогою якої ви можете запускати пресети із налаштуваннями за замовчуванням - включаючи пропущення файлів, характерних для Mac, таких як .DS_Store & __MACOSX. Можливо, варто подивитися.

З довідки BetterZip ...

BetterZip підтримує два сервіси: один для вилучення та один для створення архівів. Ви можете налаштувати, що робитимуть сервіси BetterZip із попередньо встановленими налаштуваннями.

Щоб скористатися послугою, виберіть один або декілька файлів або папок у Finder та виберіть «Компресувати з BetterZip» або «Витягнути з BetterZip» у меню Finder> Services або підменю Services у контекстному меню.

Можна навіть встановити комбінації клавіш для служб BetterZip, наприклад, ^ ⌥⌘C для стиснення та ^ ⌥⌘E для вилучення. Щоб встановити ярлики для служб, перейдіть до Налаштування системи> Клавіатура> Клавіші швидкого доступу та виберіть Сервіс у лівій таблиці. У правій таблиці перейдіть до Файли та папки, виберіть Стиснути за допомогою BetterZip та натисніть ↩. З'явиться редаговане текстове поле. Натисніть потрібний ярлик.

Один із моїх попередніх налаштувань збереження ...

введіть тут опис зображення


Це хороший варіант GUI для користувачів Setapp.
Лев
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.