Comprimindo pastas em um mac, sem o .DS_Store

61

Existe alguma maneira de se livrar do .DS_Store ao compactar uma pasta em um mac?

Eu trabalho em um mac e envio trabalhos para clientes em formato zip, mas sempre sou questionado na pasta .DS_Store dentro deles. Parece ser inevitável a menos que eu abra a pasta no Windows, em seguida, exclua o .DS_Store e comprimir lá. É um grande incômodo.

Existe algum trabalho fácil?

    
por danixd 12.10.2010 / 11:03

8 respostas

104

Se você não se importa de saltar para o terminal, então isso é muito fácil. Se você estiver em /Users/username , que é seu diretório $ HOME e se houver um subdiretório chamado foo que você deseja compactar, mas ignorar todos os arquivos .DS_Store, faça o seguinte:

zip -r foo.zip foo -x "*.DS_Store"

Para interpretar isso, estamos executando o executável zip com os seguintes parâmetros / argumentos:

  • -r para incluir recursivamente todos os diretórios abaixo dos alvos que queremos zipar.
  • foo.zip é o nome do arquivo zip que estamos criando
  • foo é o diretório de destino que queremos zipar
  • -x "*.DS_Store" exclui todos os arquivos cujo caminho termina na string ".DS_Store"

Nenhum aplicativo de terceiros é necessário nem você precisa destruir seus arquivos .DS_Store - apenas confie em todos os recursos da ferramenta Unix incorporados ao OSX / Darwin.

    
por 12.10.2010 / 13:33
5

Você pode criar um aplicativo de automação que aceite uma pasta como entrada e produza um arquivo zip do conteúdo da pasta sem qualquer conteúdo.

Armazene este aplicativo em / Usuários / você / Aplicativos e, em seguida, arraste-o para a sua barra de ferramentas do localizador. Depois, você pode arrastar pastas para o aplicativo a partir de qualquer janela do Finder.

Adicione'itensdolocalizadorselecionado'.Etambémadicioneumaetapa'executarshellscript'comaopção'Aprovarpassagem'definidacomo'comoargumentos'.

Oscript:

name=("$@")
cd "$name"
zipFileName='basename "$name"'
zip "${zipFileName}.zip" -r ./* \
    -x */.DS_Store \
    -x */.git \
    -x */.svn \
    -x */.idea \
    -X */__MACOSX
mv "${zipFileName}.zip" ../

Aceita uma pasta como entrada e produz um arquivo zip com o nome da pasta.

    
por 04.01.2017 / 00:11
3

Eu não acho que haja uma maneira de fazer isso por padrão, mas há duas maneiras em que posso pensar para conseguir o que você quer.

Primeiramente, eu encontrei um aplicativo gratuito chamado FolderWasher . Solte a pasta no aplicativo e ele removerá os arquivos .DS_Store e o zipará para você.

Como alternativa (e potencialmente melhor do que software de terceiros), você pode usar o Automator para limpar o arquivo após a criação. Na verdade, já existe uma ação criada para isso. Isso é apenas uma etapa extra e você pode arrastar a ação para o Finder para facilitar a localização.

    
por 12.10.2010 / 12:49
3

Se você já criou o arquivo zip (ou deseja uma maneira simples de remover a criação do .DS_Store post zip), isso removerá todos os arquivos .DS_Store em qualquer caminho no arquivo zip:

zip -d archive.zip "*/*.DS_Store"

a resposta de whaley ainda é definitivamente a melhor, porque pode ser aliada e esquecida. No meu caso, eu criei o zip do Archive Utility, então percebi que eu deveria deletar esses arquivos.

    
por 26.06.2016 / 23:45
2

Abra o Terminal (/Applications/Utilies/Terminal.app) e execute o seguinte comando para mostrar os arquivos ocultos:

defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder

Para ocultar os arquivos ocultos, basta executar:

defaults write com.apple.finder AppleShowAllFiles FALSE && killall Finder

Você pode excluir arquivos .DS_Store como qualquer outro arquivo, sem causar danos ao seu diretório. Como afirmado na wikipedia, "DS_Store (Desktop Services Store) é um arquivo oculto criado pelo sistema operacional Mac OS X da Apple Inc. para armazenar atributos personalizados de uma pasta, como a posição de ícones ou a escolha de uma imagem de fundo."

    
por 12.10.2010 / 11:50
2

Use CleanArchiver para criar esses arquivos. Dessa forma, você não precisa refazer suas preferências de pasta.

    
por 12.10.2010 / 12:58
2

Se você executar isso no Terminal, isso os impedirá de serem gerados automaticamente quando você criar pastas. Você poderá ativá-las novamente, se desejar.

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Você pode usar o exemplo @Penang (acima) para verificar se os arquivos não são mais criados. Eu tive que carregar um arquivo zip e cada pasta tinha esse arquivo e isso me ajudou.

    
por 05.12.2016 / 16:23
0

Há uma explicação sobre o que são e como excluí-los no site de ajuda da Adobe de todos os lugares.

Eles são um arquivo oculto usado para armazenar a configuração de uma pasta (como posição do ícone, cor, fundo da pasta e posição de rolagem. Infelizmente parece não haver nenhuma maneira de impedi-los de serem criados permanentemente, embora Apple admita que eles podem causar problemas para alguns usuários.

    
por 12.10.2010 / 11:19