descompacte a linha de comando para sincronizar a pasta de destino

descompacte a linha de comando para sincronizar a pasta de destino

Existe uma maneira de descompactar um .zip em uma pasta e sincronizar o conteúdo dessa pasta com o conteúdo do .zip?

Eu sei que você pode fazer uma opção -u(pdate) que atualizará a pasta com arquivos mais recentes, mas isso não é suficiente. Preciso fazer uma sincronização real (remover arquivos não presentes no .zip e atualizar os arquivos mais recentes).

Também precisa ser rápido, pois sincronizarei .zips grandes. Portanto, limpar e descompactar não é uma opção.

Estou aberto a qualquer ferramenta que faça o trabalho. Mas tem que funcionar de forma autônoma na linha de comando.

Responder1

WinZiptem um complemento de suporte de linha de comando nomeado WZUNZIP.EXEcom a seguinte opção que pode ser usada em combinação com seu -eargumento ao extrair:

-n-- Descompacte apenas os arquivos mais recentes. Esta opção atualiza os arquivos existentes se o arquivo arquivado for mais recente e cria novos se eles ainda não existirem.

Responder2

Eu procurei por algo que tivesse essa capacidade por algum tempo. O utilitário Info-ZIP é gratuito, baseado em linha de comando e possui uma opção -FS que removerá arquivos do arquivo que não existem mais na pasta de origem, além de atualizar arquivos mais recentes. Sincronização de arquivos ZIP do IE. http://www.info-zip.org/ Nota: O único problema que tenho com este utilitário é que não há nenhum recurso para especificar explicitamente a pasta de origem como parte dos argumentos da linha de comando. Ele usa o diretório de trabalho atual como fonte. Portanto, em um script, você usaria o comando CD para primeiro mudar para o diretório de origem e depois iniciar o comando ZIP. Por exemplo:

CD /D D:\Program Settings\Favorites
zip -FS -r -9 -b %Temp% -q -ds 0 "D:\Backup\Favorites.zip" .

informação relacionada