Utilitário Zip de linha de comando grátis para Windows? [fechadas]

3

Estou tentando criar uma tarefa agendada para copiar uma árvore de diretórios contendo um grande número de arquivos pequenos de um servidor para outro. Copiar a árvore diretamente leva alguns dias, então eu estava pensando que seria mais rápido zipar o diretório, copiar o arquivo zip e descompactar o servidor de destino.

Eu tentei o utilitário de linha de comando do 7Zip, o 7z.exe. Ele engasgou com um erro "não é possível alocar memória". Então agora estou procurando uma alternativa.

Alguém sabe de um utilitário zip que:

  1. Funciona com todos os sabores modernos do Windows
  2. é grátis
  3. Pode ser controlado a partir da linha de comando
  4. Não precisa ser instalado (basta copiar o EXE e, talvez, uma DLL associada, da mesma forma que o 7z.exe pode ser.)
  5. não engasga com árvores de diretórios muito grandes

???

    
por Jeff Dege 25.01.2011 / 21:05

4 respostas

2

Já pensou em usar algo como Robocopy com a opção /MT ? Eu acho que ter uma cópia paralela vai superar a compressão, transferência e descompressão. Gostaria de começar com o padrão de 8 threads e monitorar o comprimento da fila de disco em ambas as extremidades para ter certeza de que você está saturando, mas não debater o disco até a morte. O Robocopy também pode copiar apenas os arquivos que realmente precisam ser transferidos.

Usage :: ROBOCOPY source destination [file [file]...] [options]

/MT[:n] :: Do multi-threaded copies with n threads (default 8).
           n must be at least 1 and not greater than 128.

Se isso não funcionar por algum motivo, tive sucesso usando o executável zip.exe do pacote UnxUtils ou para necessidades de zip mais extremas, o executável KZIP.exe . O Kzip pode ser um pouco mais lento na compactação nas configurações extremas de compactação, mas eu não vi um compactador de arquivos compactados que consiga vencê-lo consistentemente para eficiência de espaço com um arquivo padrão. Naturalmente, ele será executado como um executável autônomo e será fácil de usar como script de linha de comando. Não posso dizer que os usei em diretórios extremamente grandes.

Você também deve estar ciente de que um arquivo ZIP "padrão" pode ter no máximo 4 GB de tamanho e conter no máximo 65535 arquivos. Se sua estrutura exceder esses limites, você precisará usar versões mais recentes do padrão zip (ZIP64).

    
por 25.01.2011 / 21:48
1

Info-ZIP é o programa ZIP gratuito original.

Eu não tentei em diretórios muito grandes. Qual é o tamanho do diretório (número de arquivos, tamanho total, etc)?

    
por 25.01.2011 / 21:12
1

Eu posso sugerir PeaZip como possível solução. Torna muito fácil criar scripts de comando para executar tarefas de compactação em lote sem o fardo e as limitações da GUI, e é um frontend do Robocopy para operações de cópia de arquivos / diretórios.

    
por 13.08.2014 / 10:00
0

BZIP2: link

GZIP: link

Tar: link

Eles exigem algumas dlls de suporte, mas provavelmente já estão em vigor na maioria das instalações do Windows.

Vale a pena tentar.

Edit: Como sobre o DeltaCopy - uma versão do rsync do Windows, embora ainda possa se engasgar com a quantidade de arquivos: link

    
por 25.01.2011 / 21:17

Tags