Nén mà không có .DS_Store và __MACOSX


24

Khi tôi nén thư mục hoặc tệp bằng menu chuột phải của Mac OS X, tệp được lưu trữ chứa các thư mục .DS_Store__MACOSX . Vì tôi chia sẻ tệp lưu trữ trực tuyến để tải xuống, người dùng Windows đã cố gắng tìm kiếm tệp trong thư mục __MACOSX .

Tôi cần phải có một tùy chọn lưu trữ sạch hơn. Tôi không muốn bao gồm thư mục .DS_Store__MACOSX , nhưng chỉ có tệp hoặc thư mục vào tệp lưu trữ.

Tất cả những gì tôi tìm thấy là CleanArchiver nhưng đó là ứng dụng GUI. Nó thực sự tốn thời gian và tôi có rất nhiều tập tin để nén. Tôi đang tìm kiếm một giải pháp bằng menu ngữ cảnh nếu có thể.

Có giải pháp nào bạn có thể khuyên dùng để nén sạch không?

Câu trả lời:


33

Bạn có thể sử dụng lệnh zip trong Terminal để nén các tệp mà không cần các tệp .DS_Store , __MACOSX và các tệp. * Khác.

Mở Terminal (tìm kiếm terminal trong spotlight)
Điều hướng đến thư mục bạn muốn nén bằng lệnh cd
Dán nàyzip -r dir.zip . -x ".*" -x "__MACOSX"

Ví dụ: Giả sử bạn có một thư mục trên máy tính để bàn của mình được gọi là Thư mục có nội dung để nén.
Mở terminal và viết các lệnh sau:
cd Desktop/Folder
zip -r dir.zip . -x ".*" -x "__MACOSX"

Bây giờ bạn có một tệp có tên dir.zip không có tệp __MACOSX và. * Trong thư mục Thư mục trên máy tính để bàn của bạn.


1
+1 Bạn có thể gói nó vào một dịch vụ tự động hóa không?
fd0

3
Về mặt kỹ thuật, nếu bạn sử dụng zipđể tạo tệp zip, "__MACOSX /" sẽ không được tạo ở vị trí đầu tiên, vì vậy tất cả những gì bạn thực sự cần là zip -r dir.zip .. Tuy nhiên, nếu "__MACOSX /" bằng cách nào đó lẻn vào đó, giải pháp của bạn sẽ thoát khỏi nó.
Edward Falk

2
Ngoài ra, bạn có thể dễ dàng xác minh rằng tệp zip của mình không có __MACOSX trong đó bằng cách nhập vào bảng điều khiểnzipinfo dir.zip
Fostah

13

Chỉ cần thêm một số thông tin ...

Tôi hiểu rằng __MACOSX là thư mục con được tạo một cách nhân tạo bởi các công cụ GUI của Mac để chứa dữ liệu meta, chẳng hạn như các thuộc tính mở rộng thường không thể lưu trong tệp zip.

Nếu bạn sử dụng các công cụ GUI của Mac để giải nén tệp zip, thì các công cụ đó sẽ biết phải làm gì với __MACOSX và thư mục sẽ không thực sự được giải nén.

Sự cố xảy ra khi bạn gửi tệp .zip của mình cho người dùng Windows hoặc Linux hoặc chỉ sử dụng unzipchương trình mục đích chung để giải nén chúng. Những công cụ đó sẽ không biết rằng __MACOSX là đặc biệt và sẽ giải nén nó.

Tùy chọn đơn giản nhất là sử dụng zipđể đóng gói tệp zip của bạn thay vì công cụ tích hợp Mac. zipsẽ không tạo __MACOSX và vấn đề của bạn đã được giải quyết. (Bạn sẽ mất dữ liệu meta trong quá trình, nhưng có lẽ bạn không muốn nó.)

zip -r dir.zip .

Nếu quá muộn và bạn đã có tệp zip với __MACOSX, bạn vẫn có thể xóa tệp đó bằng:

zip -d foo.zip __MACOSX .DS_Store

Cuối cùng, câu trả lời được chấp nhận là tốt nhất vì nếu vì lý do nào đó __MACOSX thực sự tồn tại trong thư mục của bạn (ví dụ vì trước đây bạn đã sử dụng unzipđể tạo nó), tùy chọn -x sẽ giữ cho nó không bị đóng gói.


4

Hãy thử Keka . Nó đi kèm với một tùy chọn để loại trừ .DS_Store

nhập mô tả hình ảnh ở đây


2

Chỉ có một thứ tôi từng thực sự sử dụng là BetterZip [$ 20]

Đây là một ứng dụng GUI, nhưng có hỗ trợ Applescript & Services, trong đó bạn có thể chạy các cài đặt trước với cài đặt mặc định của mình - bao gồm bỏ qua các tệp dành riêng cho Mac như .DS_Store & __MACOSX. Có thể đáng xem.

Từ Trợ giúp BetterZip ...

BetterZip hỗ trợ hai dịch vụ: một để trích xuất và một để tạo tài liệu lưu trữ. Bạn có thể định cấu hình những gì dịch vụ BetterZip sẽ làm với các cài đặt trước.

Để sử dụng dịch vụ, chọn một hoặc nhiều tệp hoặc thư mục trong Trình tìm kiếm và chọn Nén bằng BetterZip hoặc Trích xuất bằng BetterZip từ menu Finder> Dịch vụ hoặc menu con Dịch vụ trong menu ngữ cảnh.

Bạn thậm chí có thể đặt các phím tắt cho các dịch vụ BetterZip, ví dụ: ^ C để nén và ^ E để giải nén. Để đặt lối tắt cho dịch vụ, hãy đi tới Tùy chọn hệ thống> Bàn phím> Phím tắt và chọn Dịch vụ ở bảng bên trái. Trong bảng bên phải, cuộn đến Tệp và Thư mục, chọn Nén bằng BetterZip và nhấn. Một trường văn bản có thể chỉnh sửa sẽ xuất hiện. Nhấn phím tắt mong muốn.

Một trong những cài đặt trước Save của tôi ...

nhập mô tả hình ảnh ở đây


Đó là một tùy chọn GUI tốt cho người dùng Setapp.
Leo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.