Descompacte somente arquivos atualizados

5

Existe uma maneira de descompactar um arquivo zip em um diretório, mas apenas para arquivos de atualização (quero dizer, os arquivos compactados dentro do zip)? Eu tenho um enorme diretório de arquivos e apenas 20% são diferentes.

De preferência usando a linha de comando, mas é opcional. Eu uso o Windows XP.

Obrigado.

    
por R S 23.05.2010 / 22:57

3 respostas

1

Com o addon da linha de comando do winzip , você pode usar a opção -n :

-n

Unzip only newer files. This option updates existing files if the archived file is newer and creates new ones if they do not already exist.

wzunzip -n "c:\my documents\spring2007.zip" c:\semesters\spring05  

This example will extract, from c:\my documents\spring2007.zip, ONLY those files that are newer than the files that currently exist in c:\semesters\spring05 OR that do not already exist in the c:\semesters\spring05 folder.

Você pode querer combiná-lo com a opção -o - "Substituir arquivos existentes sem um prompt (responder automaticamente" Sim "a cada prompt de substituição)."

    
por 24.05.2010 / 03:51
1

Aqui está uma ideia para os iniciantes que outra pessoa precisará concluir:

  1. Encontre um programa zip que liste os arquivos em um arquivo compactado.
  2. Tenha essa lista com todos os arquivos e o timestamp
  3. Use uma linguagem de script (python, batch, whatever) para comparar o tempo modificado desses arquivos com os arquivos no diretório
  4. A linguagem de script gera os argumentos para incluir esses arquivos no archive

Como alternativa, divida sua pasta de arquivos.

    
por 23.05.2010 / 23:56
0

Estou chegando 4 anos atrasado, mas ei - melhor tarde do que nunca.

Aqui está um projeto para descompactar apenas arquivos modificados: link

Do TFA: "Uma ferramenta unzip escrita em C #, que verifica o hash MD5 antes de descompactar cada arquivo. --- Se o hash coincide com a versão anterior, pulamos a extração deste arquivo. --- Hashes são armazenados em fluxos de arquivos NTFS Alternate (no Linux, deve-se usar a API xattr, mas isso não é implementado aqui) "

    
por 28.12.2014 / 19:04