descompacte a linha de comando para sincronizar a pasta de destino

4

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

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

Ele também precisa ser rápido, já que eu vou sincronizar grandes arquivos .zips. Então, uma limpeza e descompactação limpa não é uma opção.

Estou aberto a qualquer ferramenta que faça o trabalho. Mas tem que trabalhar sem supervisão na linha de comando.

    
por fasteddo 26.04.2012 / 20:32

2 respostas

0

O WinZip tem um complemento de suporte de linha de comando chamado WZUNZIP.EXE com a seguinte opção que pode ser usada em combinação com seu -e argumento ao extrair:

-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.

    
por 26.04.2012 / 21:08
0

Eu procurei por algo que tivesse essa capacidade por algum tempo. O utilitário Info-ZIP é gratuito, baseado em linha de comando, e possui um switch -FS que remove arquivos do arquivo que não existem mais na pasta de origem, além de atualizar arquivos mais recentes. I.E. Sincronização de arquivos ZIP. link Nota: O único problema que tenho com esse 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 a origem. Assim, em um script, você usaria o comando CD para primeiro alterar para o diretório de origem e, em seguida, 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" .
    
por 14.05.2012 / 13:18

Tags