Estoy buscando la forma de comprimir una carpeta grande en muchos archivos de 20Mb. No quiero que el archivo zip se divida en otros más pequeños. En cambio, quiero agrupar algunos subarchivos / carpetas en grupos que son 20Mb cuando están comprimidos.
Si sabes cómo hacerlo, ¡por favor ayuda!
Actualizar
Necesito usar solo los archivos comprimidos más pequeños que pueden descomprimirse solos.
Mi intención es usar virustotal.com para escanear una carpeta grande.
Respuestas:
En winzip: agregue los archivos al zip ya sea iniciando winzip y agregando o arrastre y suelte en winzip o haga clic derecho en los archivos y winzip 'agregar a zip ...'
Luego en winzip:
Acciones: dividir en la parte inferior de 'tamaño de pieza', elegir 'otro tamaño', luego poner 20 y seleccionar mb
¡Hecho!
fuente
Lo que está proponiendo es esencialmente una variación del problema de la mochila , con el giro adicional de que, debido a la compresión de archivos, no comienza sabiendo cuánto ocupará su mochila de 20 MB en cada elemento.
La solución trivial, por supuesto, sería simplemente comprimir cada archivo de forma independiente, pero eso no reduce el recuento de archivos, por lo que sospecho que no sería una solución satisfactoria.
Si se me presentara este problema, supongo que comenzaría comprimiendo cada archivo individualmente en una ubicación temporal (o en la memoria, sin escribirlos en el disco), solo para poder obtener un tamaño comprimido aproximado para cada uno. Con esa información, sería posible decidir qué archivos deberían agruparse por cualquiera de los enfoques estándar para el problema de la mochila y crear los archivos zip reales.
Suponiendo que tenga un lenguaje de script disponible y sepa cómo usarlo, esperaría que este enfoque sea bastante sencillo de automatizar; hacerlo manualmente sería bastante tedioso si tienes más de un puñado de archivos con los que lidiar ...
fuente
Dejar que Zip haga la división por usted será mucho más fácil de automatizar que tratar de resolverlo usted mismo. Si su objetivo son los archivos zip de 20 MB, deberá estimar el tamaño comprimido de cada archivo antes de agregarlo al archivo. ¿Hay alguna razón por la que no quieras dejar que Zip haga la división por ti? Así es como lo harías con gnu zip:
Esto creará archivos comprimidos de 20 MB con números de índice incrementales en el nombre del archivo.
fuente
En Linux hay un programa llamado zipsplit que hace exactamente esto. Es parte del paquete zip estándar.
Se puede ejecutar así:
para dividir bigfile.zip en partes de un máximo de 20 MB. Y tenga en cuenta que los archivos contenidos individuales no se dividirán. Por lo tanto, cada parte se puede descomprimir individualmente. Lo que también significa que si hay un solo archivo que no puede caber en el tamaño máximo de parte, la división no será posible.
Actualización: Parece que también hay binarios para Windows en info-zip.org, específicamente en ftp://ftp.info-zip.org/pub/infozip/win32/zip300xn-x64.zip para Win 64.
fuente
No es una perspectiva fácil, me temo.
Recientemente escribí una secuencia de comandos para reunir archivos en subdirectorios de no más de 4,3 GB para un fácil almacenamiento en DVD, pero todo fue descomprimido.
Hacerlo con compresión: ahora está el desafío. No puede predecir el tamaño de los archivos después de la compresión: todo lo que puede hacer es seguir agregando archivos al zip en orden descendente de tamaño hasta que exceda los 20 MB y luego eliminar el último archivo reemplazándolo por uno más pequeño hasta que caiga por debajo de 20 MB . Si agota todos los archivos y todavía es> 20 MB, simplemente suelte el último archivo y continúe con el siguiente archivo zip.
Una secuencia de comandos bastante complicada y un proceso bastante lento y doloroso.
fuente
Sé que este es un hilo viejo, pero acabo de hacer esto con 7-zip .
Debe usar la opción "Dividir en volumen":
fuente
Dave parecía proporcionar la solución programable más cercana a lo que OP solicitó. Descubrí que esto también podría hacerse manualmente , si se toman las siguientes suposiciones (esto no es un problema técnico puro, es más un problema de organización que técnico):
Al usar este método con 7-zip (interfaz y terminal de Windows), conservé la compresión en los archivos zip recién generados.
Comience comprimiendo todos los archivos en un solo archivo zip en una carpeta vacía (con su método de compresión deseado), por ejemplo
ALL.zip
, y ábralo:Test
botón para confirmar su tamaño colectivo (esto considera su compresión):Extract
oCopy
botón al tiempo que añade al final de la ruta de extracción nombre de una nueva carpeta (por ejemplo:plu_8MB
)ALL.zip
zip, elimine estos archivos que acaba de extraer (evitando las extracciones erróneas) y navegue a la siguiente carpeta o subconjunto de archivos;ALL.zip
en carpetas independientes, elimine ese zip y abra el terminal en esa carpeta ;Tipo:
Presione ENTERy esto generará un archivo zip para cada carpeta que acaba de extraer.
fuente