linha de comando 7zip para compactar algo sem prefixo de diretório

0

Temos um arquivo em lote que usa a funcionalidade zip interna do Windows 10 para compactar pastas. Isso é tão imprevisível e falha no meio de uma tarefa em lote de 1 hora, o que nos obriga a iniciar todo o processo novamente. A funcionalidade zip embutida do Windows não é um aplicativo de console. Ele traz elementos da interface do usuário e falha se alguém não clicar no botão Ok.

Então comecei a tocar com o 7z. É um aplicativo portátil sem dependências e é rápido. Eu tenho um arquivo em lotes onde o diretório de trabalho atual é c: \ work \ abuild \ job. Tem uma sub pasta maintool \ vendorA. Estou tentando criar um arquivo zip da pasta vendorA, passando c: \ work \ abuild \ job \ maintool \ vendorA como parâmetro. Ele está criando o zip com apenas o conteúdo do vendorA, mas retendo todo o caminho c: \ work \ abuild \ job \ maintool \ vendorA dentro do zip. Quando extraído, ele acaba criando a estrutura de pastas que eu não quero.

Eu olhei para todos os parâmetros de linha de comando disponíveis para 7z. Eu não encontrei um que me permitisse fazer isso. Em vez de usar o caminho absoluto, se eu usar um caminho relativo que comece com. \, Posso conseguir o que quero. Mas isso requer total reescrita deste arquivo de lote. Faz parte da maior solução de arquivos em lote.

Eu ficaria surpreso se eu fosse o primeiro a encontrar esse problema. Deve haver uma solução para fazer isso. Mas eu não sei como.

Obrigado pelas suas sugestões.

    
por videoguy 26.09.2018 / 19:41

0 respostas