Aqui está um Serviço de Automator 1 que fica disponível no Finder quando as Pastas são selecionadas e emula o comando Compactar [n] Itens dos menus de contexto, exceto que ele cria um arquivo zip individual para cada Pasta selecionada no nome da Pasta selecionada . Se o arquivo Folder.zip Name já existir, um ( espaço 2) será anexado ao nome do arquivo , por exemplo, Folder Name 2.zip . Isso garante um arquivo zip existente " 2"
não é tocado e o nome do arquivo compactado será automaticamente incrementado conforme necessário.
1 No macOS Mojave e, posteriormente, um Serviço do Automator é chamado de Ação rápida . Existem também outras pequenas diferenças na nomenclatura, mas elas devem ser mais óbvias ao compará-las aos fluxos de trabalho anteriores ao macOS Mojave Automator.
Para criar o serviço: 1
Abra o Automator e selecione Serviço 1 ou Arquivo > Novo > Serviço Se o Automator já estiver aberto.
Set serviço recebe selecionado para pastas e na de localizador .
Adicione uma ação Executar script do shell , configurando Shell: para / bin / bash e Passar entrada: para como argumentos e adicione o seguinte código :
for f in "$@"; do
dn="$(dirname "$f")"
bn="$(basename "$f")"
cd "$dn" || exit
if [[ ! -e "$bn.zip" ]]; then
ditto -c -k --sequesterRsrc --keepParent "$f" "$bn.zip"
else
n=2
for i in $bn *.zip; do
if [[ "$bn $n.zip" == "$i" ]]; then
n="$(( n + 1 ))"
fi
done
ditto -c -k --sequesterRsrc --keepParent "$f" "$bn $n.zip"
fi
done
afplay /System/Library/Sounds/Purr.aiff
Salve o serviço como: Compactar pastas separadamente
Para usar o serviço:
No Finder ou na área de trabalho, selecione várias pastas , clique com o botão direito do mouse e selecione Compactar pastas separadamente em Serviços .
Ou depois de selecionar as pastas de destino , você também pode clicar em Localizador > Serviços > Compactar pastas separadamente na barra de menus .
Aí está, uma maneira de compactar várias pastas separadamente e simultaneamente em arquivos zip individuais, enquanto emula como o Finder cria um arquivo zip. Significando que o arquivo zip contém garfos de recursos preservados e metadados HFS no subdiretório __MACOSX e incorpora apenas a origem do nome do diretório pai no arquivo de destino , não o nome do caminho completo como ao usar zip
(sem -j
) para criar o arquivo.
Imagem de compactar pastas separadamente