Compactação em lote 7zip para uma extensão de arquivo específica em pastas diferentes

Compactação em lote 7zip para uma extensão de arquivo específica em pastas diferentes

Já aprendi como compactar em lote meus arquivos como estão com 7zip, mas tenho algo mais complexo para esse problema. Talvez eu possa explicar minhas necessidades com este cenário;

Eu tenho uma pasta de backup dos meus desenhos e arquivos de modelo e eles estão nas subpastas de seus clientes, então sua árvore de pastas é mais ou menos assim:


Pasta01\arquivo1.abc, arquivo2.abc, arquivo3.def, arquivo4.def

ou

Pasta02\Pasta03\arquivo1.abc, arquivo2.def


...e assim por diante.

Existe uma maneira de compactar cada arquivo *.abc ao lado do arquivo original e em seu local original ou solução semelhante para esse tipo de situação?

Responder1

Tente salvar o seguinte arquivo em lote na raiz das suas pastas e execute-o lá:

@echo off
for /R %%f in (*.abc) do (7za a %%~pf%%~nf.zip %%f)

Isso diz ao arquivo em lote para /Rprocurar recursivamente ( ) nas pastas qualquer *.abcarquivo ( ) e executar o 7zacomando.

%%~pfé o caminho atual no loop, %%~nfé o nome do arquivo sem extensão, e é por isso que acrescento .zip. %%fé o caminho completo para a corrente *.abcno loop.

informação relacionada