Gdy kompresuję folder lub plik, klikając menu prawym przyciskiem myszy w systemie Mac OS X, zarchiwizowany plik zawiera foldery .DS_Store i __MACOSX . Ponieważ udostępniam zarchiwizowany plik online do pobrania, użytkownicy systemu Windows omyłkowo próbują wyszukać plik w folderze __MACOSX .
Potrzebuję czystszej opcji archiwizacji. Nie chcę dołączać .DS_Store i __MACOSX folderu, ale tylko plik lub folder do pliku archiwum.
Wszystko, co znalazłem, to CleanArchiver, ale jest to aplikacja GUI. Naprawdę zajmuje to dużo czasu i mam wiele plików do kompresji. Jeśli to możliwe, szukam rozwiązania według menu kontekstowego.
Czy jest jakieś rozwiązanie, które możesz polecić do czystego kompresji?
zip
do utworzenia pliku zip, „__MACOSX /” nie zostanie utworzony w pierwszej kolejności, więc wszystko, czego naprawdę potrzebujesz, tozip -r dir.zip .
. Jednak jeśli „__MACOSX /” jakoś tam się wślizgnie, twoje rozwiązanie się go pozbędzie.zipinfo dir.zip
Po prostu dodatkowe informacje ...
Rozumiem, że __MACOSX to podkatalog sztucznie utworzony przez narzędzia Mac GUI do przechowywania metadanych, takich jak rozszerzone atrybuty, których normalnie nie można zapisać w pliku zip.
Jeśli użyjesz narzędzi Mac GUI do rozpakowania pliku zip, narzędzia będą wiedziały, co zrobić z __MACOSX, a katalog nie rozpakuje się.
Problemy występują, gdy wysyłasz plik .zip do użytkowników systemu Windows lub Linux albo po prostu używasz programu ogólnego przeznaczenia
unzip
, aby je rozpakować. Te narzędzia nie będą wiedziały, że __MACOSX jest wyjątkowy i po prostu go rozpakuje.Najprostszą opcją jest
zip
spakowanie pliku zip zamiast wbudowanego narzędzia Mac.zip
nie utworzy __MACOSX, a twój problem zostanie rozwiązany. (W tym procesie stracisz metadane, ale prawdopodobnie i tak nie chciałeś.)Jeśli jest już za późno i masz już plik zip w __MACOSX, nadal możesz go usunąć za pomocą:
Wreszcie, zaakceptowana odpowiedź jest najlepsza, ponieważ jeśli z jakiegoś powodu __MACOSX faktycznie istnieje w twoim katalogu (np. Ponieważ wcześniej
unzip
go tworzyłeś ), opcja -x zapobiegnie spakowaniu.źródło
Spróbuj Keka . Posiada opcję wykluczenia .DS_Store
źródło
Tylko jeden, którego naprawdę kiedykolwiek użyłem, to BetterZip [20 $]
Jest to aplikacja GUI, ale ma obsługę Applescript & Services, dzięki której można uruchamiać ustawienia domyślne z domyślnymi ustawieniami - w tym pomijać pliki specyficzne dla komputerów Mac, takie jak .DS_Store i __MACOSX. Być może warte obejrzenia.
Z pomocy BetterZip ...
Jeden z moich zapisanych ustawień ...
źródło