Te damos la bienvenida a nuestro espacio, en este sitio vas a encontrar la solucíon de lo que buscas.
Solución:
Ejecutar desde un símbolo del sistema cuyo directorio de trabajo es su My Pictures
directorio, este comando creará un archivo zip del contenido de cada subdirectorio, dejando todos los archivos zip en su My Pictures
directorio.
Editar: He agregado las comillas necesarias para permitir directorios con espacios en sus nombres.
for /D %%d in (*.*) do 7z a -tzip "%%d.zip" "%%d"
También: La siguiente versión no colocará archivos en un subdirectorio dentro del archivo zip, sino en su raíz:
for /D %%d in (*.*) do 7z a -tzip "%%d.zip" ".%%d*"
En Windows 7 y superior
for /D %d in (*.*) do 7z a -tzip "%d.zip" "%d"
o
for /D %d in (*.*) do 7z a -tzip "%d.zip" ".%d*"
No pude hacer funcionar la línea de comandos, en su lugar descargué WinRAR y mtone tenía razón: WinRAR tiene una opción para comprimir varias carpetas en sus propios archivos ZIP separados.
P.ej C:FilesFables 01
dentro C:FilesFables 01.zip
y C:FilesFables 02
dentro C:FilesFables 02.zip
.
Con WinRAR, abra la Carpeta que contiene las carpetas que desea comprimir, luego siga estos pasos:
- Seleccione todas las carpetas que desea comprimir/rarear
- Haga clic en “AÑADIR” o alternativa+A o Comandos -> “Agregar archivos al archivo”
- Seleccione RAR o ZIP
- ir a la pestaña “Archivos”
- Marque “Poner cada archivo en un archivo separado” en el cuadro Archivos
Cuando haya arreglado cualquier otra configuración que le guste, presione Aceptar y boom: múltiples archivos ZIP de múltiples carpetas. Esto funcionó mucho más fácil que la línea de comandos 7zip.
Solo una ligera actualización de la respuesta de eleven81: el siguiente código crea un archivo por lotes en el que se pueden colocar varios elementos.
@echo off
if [%1]==[] goto :eof
:loop
7z a -tzip "%~1.zip" "%~1"
shift
if not [%1]==[] goto loop
Este archivo por lotes se puede agregar al menú contextual a través del registro:
- crear un nuevo key bajo [HKEY_CLASSES_ROOTFoldershell]llámalo cmd1
- Editar el string valor y llamarlo ‘Batch Zip’
- crear otro nuevo key debajo de este y llámalo comando
- Cambie el valor de esto a su ruta, con barras inclinadas de doble escape
Entonces, por ejemplo, mi entrada es “C:UsersRoryDropbox_appsbatch_zip.bat” “%1”
Una vez que haga esto, tendrá una entrada en su menú contextual para ‘Batch Zip’ que comprimirá por lotes las carpetas seleccionadas en archivos separados
Sin embargo, si hace esto a través del menú contextual, desafortunadamente ejecutará todas las operaciones simultáneamente, y como sabrá cualquier persona que haya comprimido y descomprimido mucho, comprimir carpetas funciona mucho más rápido una tras otra que todas a la vez.
Si alguien sabe una manera de arreglar esto en el registro, por favor díganos.
Arrastrar las carpetas seleccionadas al lote las hará una tras otra.