Compresión por lotes 7zip para una extensión de archivo específica en diferentes carpetas

Compresión por lotes 7zip para una extensión de archivo específica en diferentes carpetas

Ya aprendí a comprimir por lotes mis archivos tal cual con 7zip, pero tengo una necesidad más compleja sobre este tema. Quizás pueda explicar mis necesidades con este escenario;

Tengo una carpeta de respaldo de mis dibujos y archivos de modelo y están en las subcarpetas de su cliente, por lo que su árbol de carpetas es algo como esto:


Carpeta01\archivo1.a B C, archivo2.a B C, archivo3.def, archivo4.def

o

Carpeta02\Carpeta03\archivo1.a B C, archivo2.def


...etcétera.

¿Hay alguna manera de comprimir cada archivo *.abc al lado del archivo original y en su lugar original o una solución similar para este tipo de situación?

Respuesta1

Intente guardar el siguiente archivo por lotes en la raíz de sus carpetas y ejecútelo allí:

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

Esto le indica al archivo por lotes que /Rbusque recursivamente ( ) en las carpetas cualquier *.abcarchivo ( ) y ejecute el 7zacomando.

%%~pfes la ruta actual en el bucle, %%~nfes el nombre del archivo sin extensión, por lo que luego agrego .zip. %%fes el camino completo a la corriente *.abcen el bucle.

información relacionada