Como definir o formato de compactação padrão do Mac OS X?

5

O Mac OS X usa o zip como formato de compactação padrão. Isso fica convenientemente disponível a partir do menu contextual (clique com o botão direito do mouse / clique com o botão direito do mouse). Eu gostaria de ajustar esse padrão para bzip2.

Eu posso fazer isso através da linha de comando com ...

tar cfj something.tar.bz2 something

... Eu poderia até embrulhar isso em uma ação do Automator ou algo assim, mas seria bom apenas ajustar o padrão. Alguma idéia?

TIA

    
por Carlton Gibson 04.01.2010 / 17:21

5 respostas

8

/ System / Library / CoreServices / Utilitário de Archive tem uma configuração de preferência para o formato de arquivo, mas parece apenas controlar os arquivos criados pelo Archive Utility, não com o Finder. Além disso, suas opções de formato são Zip, regular (cpio archive) e compactado (gzipped cpio) - tar e tgz não estão na lista.

Não é bem o que você está procurando, mas o Snow Leopard melhorou o sistema de "serviço" ao ponto em que é realmente útil para coisas como essa. Execute o Automator (eu sei, mas fique comigo ...), crie um Serviço em vez de um Fluxo de Trabalho, defina "Serviço recebe selecionado" para "Arquivos e Pastas" e copie na segunda ação do fluxo de trabalho 11 apontado para você, e salve-o sob algum nome razoável. Em seguida, selecione um arquivo no Finder, clique com o botão direito do mouse e observe a parte inferior do menu contextual do Serviço que você acabou de criar. Ele também estará disponível no menu Ação (engrenagem) na barra de ferramentas do Finder, e sob o Finder > Menu Serviços. Você pode criar um atalho de teclado para ele nas Preferências do Sistema > Teclado > Atalhos de teclado > Serviços (então encontre o seu serviço, clique na coluna da direita invisível e digite o atalho que você deseja).

    
por 05.01.2010 / 02:32
3

Expandindo a resposta de Gordon Davisson, você pode usar um script como este no serviço Automator:

set -e
[[ $# = 1 ]] && name=${1##*/} || name=untitled
base=${1%/*}
cd "$base"
i=2
[[ -e $name.tbz ]] && name="$name-$i"
while [[ -e $name.tbz ]]; do name="${name%??}-$((++i))"; done
COPYFILE_DISABLE= tar --exclude .DS_Store -cjf ./"$name".tbz -- "${@#"$base"/}"
open -R ./"$name".tbz

AconfiguraçãodeCOPYFILE_DISABLEindicatarpararemoveratributosestendidoseACLsemvezdecriar._arquivos.Veja esta pergunta .

tar archives geralmente contêm todos os arquivos em um único diretório, mas se o script receber vários arquivos como entrada, ele não criará um diretório como esse para os arquivos.

    
por 26.09.2013 / 08:44
1

Olhando para /System/Library/CoreServices/Archive Utility.app , parece que não há preferências para configurar o formato de arquivo.

O que eu sugiro que você faça é baixar e colocar CleanArchiver no seu dock. Execute-o uma vez e defina bzip2 como o padrão, então, sempre que quiser compactar algo, arraste-o para o ícone no dock, em vez de clicar em controle.

Eu acho que não é muito diferente de fazer a coisa de automação, mas pode ser uma ferramenta útil, pois pode ser configurada para excluir automaticamente coisas como arquivos .DS_Store.

    
por 04.01.2010 / 20:06
1

Veja:

/System/Library/CoreServices/Archive Utility.app/Contents/Resources

Existe um Archives.PrefPane que será instalado se você clicar nele.

Infelizmente, não define muito em termos de formato de compactação ou nível de compactação. (visto no OSX 10.5 ou 10.6)

    
por 02.06.2012 / 12:12
-1

mova a pasta para a área de trabalho. clique com o botão direito na pasta. em "FINDER", clique com o botão esquerdo no arquivo. Menu suspenso é aberto. Selecione - Compactar "nome do arquivo".

    
por 26.09.2013 / 07:26