Certifique-se de ter a versão da linha de comando do 7-zip instalada; é separado da GUI. Você pode baixá-lo aqui:
Estamos no processo de uma mudança de servidor, para um novo host e de uma caixa Servidor 2k8 para uma caixa Servidor 2012. O servidor em questão tem algumas unidades que contêm nossos sites e alguns utilitários. Essas unidades foram duplicadas exatamente durante o movimento. Dados, estruturas de pastas e permissões devem ser todos idênticos.
Recentemente, ao executar uma tarefa do Jenkins neste servidor, encontrei o seguinte no log:
G:\Websites\PathToWebsite>G:\Jenkins\Toolsz a -tzip Website_PROD_Backup_20140311_.zip
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Error: 7-Zip cannot find the code that works with archives.
O 7-Zip é instalado no servidor e eu posso fazer as ações que ele está tentando fazer na GUI. Sou desenvolvedor e não estou acostumado a solucionar problemas como esse, e o Google pelo erro específico não me levou a nenhuma solução.
A correspondência mais próxima que encontrei é um site que diz que a ferramenta de linha de comando precisa de alguns arquivos .dll se for menor que 150K. Eu encontrei a ferramenta no caminho mencionado acima e era mais de 150K. Eu copiei os arquivos .dll do diretório de instalação para esse diretório de qualquer maneira. Isso não resolveu o problema.
O que devo fazer para corrigir isso? Eu realmente preciso do 7-Zip para trabalhar a partir da linha de comando ou partes significativas do nosso processo de construção / implementação terão que ser feitas manualmente.
Certifique-se de ter a versão da linha de comando do 7-zip instalada; é separado da GUI. Você pode baixá-lo aqui:
Outra razão para esse erro é quando você tem o 7z.exe, mas também não tem 7z.dll - ambos são necessários para o programa de linha de comando funcionar corretamente. Copiar apenas esses dois arquivos da pasta de instalação da GUI normal do 7-zip é suficiente para uma versão portátil do programa de linha de comando em nosso CI.
no arquivo em lote definir o caminho para o exe caso contrário, o programa em lotes não saberá onde o exe está localizado. se exe estiver em c: \ Prog ~ 1 files \ bin \ 7zip.exe
define o caminho como c: \ Prog ~ 1 files \ bin \
Eu tive a mesma mensagem de erro descrita acima. Resolvemos o problema excluindo o 7z.exe do diretório Windows \ System32 (que foi instalado instalando o 7-zip como administrador?).
Eu tive um problema semelhante ao executar '. \ 7z.exe' em um script do powershell, o problema era que a cópia da pasta local \ 'do 7z.exe era uma versão mais antiga que a atualmente instalada no meu computador. Para corrigir o problema, acabei de copiar os arquivos 7z.exe e 7z.dll mais recentes para a pasta local que o script estava usando.