
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 /R
procurar recursivamente ( ) nas pastas qualquer *.abc
arquivo ( ) e executar o 7za
comando.
%%~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 *.abc
no loop.