Como faço para compactar vários arquivos com o mesmo nome em seus caminhos?

2

Eu tenho muitos arquivos com o mesmo nome em muitas pastas em um projeto em um PC com Windows. Existem centenas de milhares de arquivos de origem em milhares de pastas.

Eles precisam ser enviados para localização. Nenhum dos códigos-fonte pode acompanhá-los - apenas os arquivos de propriedades, por isso não posso simplesmente zipar todo o projeto e enviá-lo para fora.

  • Eu não posso mandar em um arquivo zip - requer nomes exclusivos.

  • Eu tentei usar o Agent Ransack, que listará todos os arquivos em seus caminhos, mas infelizmente 7Zip ignora os caminhos e reclama da falta de nomes exclusivos.

O que eu preciso é de um script ou forma automatizada para obter apenas alguns arquivos de propriedades em suas respectivas pastas em um arquivo zip. Então eles podem ser descompactados sobre os existentes quando eles voltarem em uma operação também.

    
por davidjmcclelland 19.02.2015 / 23:19

1 resposta

3
7z a -tzip project.zip -ir!DIR1\*.cpp

sairia e pegaria todos os arquivos com a extensão .cpp em e abaixo de DIR1 e os colocaria em um arquivo chamado project.zip. Em seguida, adicione mais arquivos com a extensão .abc ao arquivo com

7z u project.zip -ir!DIR1\*.abc

-t especifica o tipo de arquivo (ZIP). Os comutadores -i e -r são combinados em -ir , o qual I inclui nomes de arquivos e R subdiretórios ecurses. Caracteres curinga ou nomes de arquivos com espaços devem ser citados, como "Dir \ Program files *" ou Dir \ "Program files" *

-

Você também pode gerar uma lista de filespecs para incluir, com curingas e, em seguida, colocar apenas esses arquivos no archive, com:

7z a -r -tzip archive.zip @listfile.txt

-

Como você usou convenções de nomenclatura consistentes e exclusivas para seus arquivos de código-fonte, você pode excluir os arquivos que não deseja do arquivo no momento da criação com o sinalizador -x, a la:

7z a -r archive1.zip subdir\ -x!*.src

que irá gerar um arquivo excluindo arquivos que terminam em .src

O arquivo de ajuda incluído no 7-zip, que você pode acessar a partir da versão GUI do aplicativo, tem muito mais detalhes e muito mais opções.

-

Se não fosse tão imenso, eu poderia, em vez disso, sugerir o uso do 7z a partir da linha de comando para varrer tudo, depois apagar o código-fonte do arquivo antes da transmissão.

7z a -r archive1.zip subdir\

adiciona todos os arquivos e subpastas dentro e abaixo da pasta subdir para o arquivo archive1.zip. As especificações do arquivo no arquivo conterão o subdiretório \ prefixo.

Em seguida, use o Gerenciador de arquivos 7zip para remover os arquivos de código-fonte.

    
por 19.02.2015 / 23:40

Tags