Como compactar cada arquivo ou pasta separadamente no Mac

Dez pastas de clientes, e cada cliente deve receber só a sua. Uma semana de gravações para enviar uma por uma. Projetos antigos para arquivar, um ZIP para cada. Você seleciona tudo no Finder, escolhe Comprimir e recebe um único Arquivo Comprimido.zip com tudo dentro.
A resposta curta:
- O Finder não sabe criar um arquivo compactado por item. Comprima os itens um de cada vez, ou use o loop do Terminal mais abaixo, que você também pode transformar em uma ação rápida.
- No Folia Files, selecione os itens, clique com o botão direito, vá até Comprimir e, em Cada Item Separadamente, escolha ZIP, 7Z, TAR.GZ ou TAR.XZ. Cada item ganha seu próprio arquivo compactado, bem ao lado dele.
O que o “Comprimir” do Finder faz
Clique com o botão direito em um único item e escolha Comprimir “Atlas”: você recebe um ZIP com o nome dele, Atlas.zip para uma pasta, relatorio.pdf.zip para um arquivo. Selecione vários itens e o comando vira Comprimir 3 Itens (ou quantos você tiver selecionado). Todos vão para um único arquivo compactado, Arquivo Comprimido.zip, na mesma pasta.
Não existe ajuste para ter um arquivo compactado por item. Ou você comprime um por um, ou deixa um pequeno script fazer isso.
Compactar cada item separadamente no Terminal
O macOS inclui o ditto, uma ferramenta de cópia que também cria arquivos ZIP do jeito do Finder. Um loop curto o executa uma vez para cada item de uma pasta:
- Abra o Terminal (em Aplicativos › Utilitários).
- Digite
cde um espaço, arraste para a janela do Terminal a pasta que contém os itens e pressione ↩. - Cole estas linhas e pressione ↩:
for item in ./*; do
[[ "$item" == *.zip || -e "$item.zip" ]] && continue
if [[ -d "$item" ]]; then
ditto -c -k --sequesterRsrc --keepParent "$item" "$item.zip"
else
ditto -c -k --sequesterRsrc "$item" "$item.zip"
fi
done
Cada item da pasta agora tem seu ZIP ao lado: Atlas.zip ao lado da pasta Atlas, relatorio.pdf.zip ao lado de relatorio.pdf. Rode o loop em uma pasta que contenha só o que você quer arquivar, porque cada arquivo e cada pasta dentro dela recebe um arquivo compactado. O que cada parte faz:
./*percorre os itens da pasta, deixando de fora os ocultos (nomes que começam com um ponto). O./na frente impede que um nome que começa com hífen seja lido como uma opção.- A segunda linha pula os próprios arquivos ZIP e qualquer item que já tenha seu arquivo compactado, então rodar o loop duas vezes não refaz nem sobrescreve nada.
- Uma pasta é compactada com
--keepParent, para que ao descompactar volte a própria pasta. Um arquivo é compactado sozinho: com--keepParent, odittoo colocaria dentro de uma pasta com o nome daquela em que ele está. --sequesterRsrcguarda os dados próprios do Mac em uma pasta__MACOSXdentro do arquivo compactado, como fazem os ZIPs do Finder.
Nomes com espaços ou acentos não são problema: cada $item está entre aspas.
O comando tar do macOS grava os outros formatos. Troque o bloco if … fi por uma destas linhas, e .zip na segunda linha pela mesma extensão:
- TAR.GZ:
tar -czf "$item.tar.gz" "$item" - TAR.XZ:
tar -cJf "$item.tar.xz" "$item" - 7Z:
tar --format 7zip -cf "$item.7z" "$item"
Se você usa o Folia Files, clique com o botão direito no fundo da pasta e escolha Abrir no Terminal: o terminal abre nessa pasta, sem precisar de cd. A edição do site também tem o Terminal do Folia Files, que abre embaixo do painel, como na imagem abaixo.

Transformar o loop em uma ação rápida
Para tê-lo a um clique com o botão direito no Finder:
- Abra o Automator, escolha Arquivo › Novo, selecione Ação Rápida e clique em Escolher.
- Na barra de cima, ajuste O Fluxo de Trabalho recebe o(a) atual para arquivos ou pastas, e em para Finder.app.
- Arraste a ação Executar Script de Shell da biblioteca para o fluxo de trabalho. Confira se Shell mostra /bin/zsh, ajuste Passar entrada para como argumentos e substitua o texto pelo loop acima, com a primeira linha trocada por
for item in "$@"; do(os itens em que você clicou com o botão direito). - Salve com ⌘S com um nome como “Compactar cada um”.
Agora ela aparece em Ações Rápidas quando você clica com o botão direito em arquivos no Finder. Ajustada para Finder.app, ela fica de fora dos menus dos outros apps, por um motivo explicado em por que sua ação rápida do Automator só aparece no Finder (a edição do site do Folia Files mostra a ação mesmo assim).
No Folia Files: Comprimir › Cada Item Separadamente
O Folia Files faz isso pelo menu de contexto, em todas as visualizações:
- Selecione os itens: ⌘-clique ou ⇧-clique, ou ⌘A para todos.
- Clique com o botão direito em um deles e vá até Comprimir.
- Os quatro formatos de cima criam um único arquivo compactado com toda a seleção, Arquivo Compactado.zip, como o Finder. Em Cada Item Separadamente, os mesmos quatro formatos criam um arquivo compactado por item. Essa segunda parte aparece assim que dois ou mais itens estão selecionados.

O que você recebe:
- Um arquivo compactado ao lado de cada item, com o nome dele: Atlas.zip, Design.zip… Um arquivo mantém a extensão no nome, Notas.md.zip, como no Finder.
- Nada é substituído. Se Atlas.zip já estiver lá, o novo se chama Atlas 2.zip.
- Itens de várias pastas. Na visualização Árvore, você pode selecionar itens em subpastas diferentes: cada arquivo compactado fica ao lado do seu próprio item.
- Os novos arquivos compactados selecionados assim que ficam prontos, para arrastar para um e-mail ou para uma pasta de nuvem ou de servidor aberta no outro painel.
Comprimir fica junto das outras ferramentas de arquivos do menu de contexto, descritas na página de ferramentas de arquivos.
Acompanhar, pausar ou cancelar em Operações
O Folia Files cria os arquivos compactados um depois do outro, não todos ao mesmo tempo: vários compactadores juntos só disputariam o disco. Cada arquivo compactado é uma linha em Operações, o botão da barra de ferramentas que também acompanha cópias e movimentações (ou Janela › Operações em Andamento, ⌃⌘O):
- Comprimindo em .zip (ou .7z, .tar.gz…), com uma barra de progresso baseada no tamanho medido antes de começar, o nome do arquivo sendo adicionado, quanto já foi feito do total, a velocidade e o tempo restante. Os que esperam a vez mostram Preparando….
- O botão de pausa para o compactador onde ele está, e Retomar continua dali. Os arquivos compactados seguintes esperam.
- O botão ✕ (Cancelar) interrompe um arquivo compactado. Cada um é gravado com um nome oculto ao lado dos itens e só recebe o nome de verdade quando está completo: um cancelado não deixa nada para trás, e um arquivo pela metade nunca parece pronto. Os já criados ficam, e os outros continuam.
ZIP, 7Z, TAR.GZ ou TAR.XZ?
- ZIP abre com um clique duplo em um Mac ou em um PC com Windows, sem instalar nada. É o formato para clientes, colegas e qualquer pessoa cujo computador você não conhece.
- 7Z costuma sair menor que o ZIP, principalmente com documentos, texto e código. Nem todo computador abre esse formato sem um app extra: use para quem tem um, ou para os seus próprios arquivos.
- TAR.GZ é o costume dos servidores Linux e dos desenvolvedores. Mantém como estão as permissões Unix e os links simbólicos.
- TAR.XZ em geral fica menor que o TAR.GZ, e é mais lento de criar.
Fotos, vídeos e música já são comprimidos: nenhum formato os deixa muito menores. Compacte para mantê-los juntos ou para enviá-los, não para ganhar espaço.
Abrir de novo
No Folia Files, um clique duplo em um arquivo ZIP, 7Z ou TAR o abre no painel como uma pasta, somente para leitura; Extrair Aqui descompacta ao lado do arquivo, e Extrair Para, em outra pasta. Como abrir um arquivo ZIP sem descompactar traz os detalhes.
Resumindo
- Finder: um único Arquivo Comprimido.zip para toda a seleção, seja ela qual for.
- Terminal: o loop com
dittoacima, outarpara TAR.GZ, TAR.XZ e 7Z; o mesmo loop cabe em uma ação rápida do Automator. - Folia Files: Comprimir › Cada Item Separadamente e depois o formato. Um arquivo compactado ao lado de cada item, acompanhado em Operações, e nada fica para trás se você cancelar.


