Compactar sem .DS_Store e __MACOSX

24

Quando eu compactar uma pasta ou arquivo pelo menu do botão direito do Mac OS X, o ficheiro arquivado contém .DS_Store e __MACOSX pastas. Como eu compartilho o arquivo arquivado online para download, os usuários do Windows tentam erroneamente pesquisar o arquivo na pasta __MACOSX .

Preciso ter uma opção de arquivo mais limpo. Não quero incluir as pastas .DS_Store e __MACOSX , mas apenas o arquivo ou a pasta no arquivo morto .

Tudo o que encontrei é o CleanArchiver, mas é uma aplicação GUI. Realmente leva tempo e tenho muitos arquivos para compactar. Estou procurando uma solução por menu de contexto, se possível.

Existe alguma solução que você possa recomendar para uma compressão limpa?

John Bernard
fonte

Respostas:

33

Você pode usar o comando zip no Terminal para compactar os arquivos sem os arquivos .DS_Store , __MACOSX e outros. *.

Abrir terminal (procure o terminal no centro das atenções)
Navegue até a pasta que deseja compactar usando o comando cd
Cole thiszip -r dir.zip . -x ".*" -x "__MACOSX"

Exemplo: digamos que você tenha uma pasta na sua área de trabalho chamada Pasta com itens para compactar.
Abra o terminal e escreva os seguintes comandos:
cd Desktop/Folder
zip -r dir.zip . -x ".*" -x "__MACOSX"

Agora você tem um arquivo chamado dir.zip sem os arquivos __MACOSX e. * Na pasta Pasta da área de trabalho.

iTunes
fonte
1
+1 Você pode agrupar isso em um serviço de automação?
fd0 25/05
4
Tecnicamente falando, se você zipcriar o arquivo zip, "__MACOSX /" não será criado em primeiro lugar, então tudo o que você realmente precisa é zip -r dir.zip .. No entanto, se "__MACOSX /" aparecer de alguma forma, sua solução se livrará dela.
Edward Falk
2
Além disso, você pode facilmente verificar se o arquivo zip não tem __MACOSX no-lo digitando no consolezipinfo dir.zip
Fostah
13

Apenas algumas informações extras ...

Meu entendimento é que __MACOSX é um subdiretório criado artificialmente pelas ferramentas da GUI do Mac para armazenar metadados, como atributos estendidos que normalmente não podem ser salvos em um arquivo zip.

Se você usar as ferramentas da GUI do Mac para descompactar o arquivo zip, as ferramentas saberão o que fazer com o __MACOSX e o diretório não será realmente descompactado.

Os problemas ocorrem quando você envia o arquivo .zip para usuários do Windows ou Linux ou apenas usa o unzipprograma de uso geral para descompactá-los. Essas ferramentas não saberão que o __MACOSX é especial e apenas o descompactarão.

A opção mais simples é usar zippara compactar seu arquivo zip em vez da ferramenta interna do Mac. zipnão criará __MACOSX e seu problema será resolvido. (Você perderá os metadados no processo, mas provavelmente não os desejou.)

zip -r dir.zip .

Se for tarde demais, e você já tiver um arquivo zip com __MACOSX, ainda poderá removê-lo com:

zip -d foo.zip __MACOSX .DS_Store

Finalmente, a resposta aceita é a melhor porque, por algum motivo, o __MACOSX realmente existe no seu diretório (por exemplo, porque você o unzipcriou anteriormente ), a opção -x impede que ele seja compactado.

Edward Falk
fonte
4

Tente Keka . Ele vem com uma opção para excluir .DS_Store

insira a descrição da imagem aqui

Oh Ho
fonte
2

O único que eu realmente usei é o BetterZip [US $ 20]

É um aplicativo GUI, mas tem suporte a Applescript & Services, com o qual você pode executar predefinições com as configurações padrão - incluindo a omissão de arquivos específicos do Mac, como .DS_Store e __MACOSX. Possivelmente vale a pena dar uma olhada.

Na Ajuda do BetterZip ...

O BetterZip suporta dois serviços: um para extrair e outro para criar arquivos. Você pode configurar o que os serviços BetterZip farão com as predefinições.

Para usar um serviço, selecione um ou mais arquivos ou pastas no Finder e escolha Compactar com BetterZip ou Extrair com BetterZip no menu Finder> Services ou no submenu Services no menu contextual.

Você pode até definir atalhos de teclado para os serviços BetterZip, por exemplo, ^ ⌥⌘C para compactação e ^ ⌥⌘E para extração. Para definir atalhos para serviços, vá para Preferências do sistema> Teclado> Atalhos do teclado e escolha Serviços na tabela esquerda. Na tabela à direita, vá até Arquivos e pastas, escolha Compactar com BetterZip e pressione ↩. Um campo de texto editável será exibido. Pressione o atalho desejado.

Uma das minhas predefinições Salvar ...

insira a descrição da imagem aqui

Tetsujin
fonte
Essa é uma boa opção de interface gráfica para os usuários do Setapp.
Leo