
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 /R
busque recursivamente ( ) en las carpetas cualquier *.abc
archivo ( ) y ejecute el 7za
comando.
%%~pf
es la ruta actual en el bucle, %%~nf
es el nombre del archivo sin extensión, por lo que luego agrego .zip
. %%f
es el camino completo a la corriente *.abc
en el bucle.