Hola, chicos,
Buenas noches.
En esta publicación rápida, demostraré cómo comprimir directorios y subdirectorios creando 1 archivo zip con todo el contenido o 1 archivo ZIP por directorio, usando el 7 cremalleras, el mejor compresor de archivos en mi opinión, y el indicador de DOS (CMD).
Este pequeño script lo uso mucho en mi vida diaria, principalmente para almacenar los scripts y logs de las solicitudes y proyectos que manejo. Esta semana tuve la necesidad de usar estos scripts nuevamente cuando generé archivos CSV grandes (más de 2 GB por archivo) con diversa información extraída de la base de datos, usando el procedimiento almacenado. stpExporta_Query_Txt, disponible en la publicación SQL Server: cómo exportar datos de bases de datos a archivos de texto (CLR, OLE, BCP).
Para que estos archivos estuvieran disponibles para el solicitante, quería comprimirlos en 1 archivo ZIP por cada archivo generado, pero había 65 archivos CSV, lo que llevaría un poco de tiempo.
La solución a este problema fue utilizar uno de los siguientes scripts, que preparé para 3 tipos de necesidades. En los siguientes ejemplos, utilizaré la siguiente estructura:

Cree 1 archivo ZIP para cada subdirectorio
En este primer ejemplo, demostraré cómo leer todos los directorios de la carpeta actual y crear 1 archivo zip para cada directorio de la carpeta actual. Los subdirectorios formarán parte del archivo Zip creado.
Código fuente:
for /d %X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%X.zip" "%X\"
pause
Tratamiento:

Resultado final:

Crea 1 archivo ZIP con el contenido de los subdirectorios
En este segundo ejemplo, demostraré cómo leer todos los directorios de la carpeta actual y crear 1 archivo zip con ese contenido. Los subdirectorios formarán parte del archivo ZIP creado.
Código fuente:
for /d %X in (*) do "C:\Program Files\7-Zip\7z.exe" a "Arquivo.zip" "%X\"
pause
Tratamiento:

Resultado final:

Cree 1 archivo ZIP para cada archivo raíz
En este tercer y último ejemplo, demostraré cómo leer los archivos en la carpeta actual y crear 1 archivo zip para archivar. No se consideran directorios y subdirectorios, solo los archivos que se encuentran en la raíz.
Código fuente:
for %X in (*.txt) do "C:\Program Files\7-Zip\7z.exe" a "%X.zip" "%X"
pause
Tratamiento:

Resultado final:

¡Y eso es todo, amigos!
¡Espero que esta publicación también te sea útil!
¡Abrazo!
cómo comprimir directorios archivos por lotes a través de la línea de comando comando línea de comando comprimir archivos directorio carpetas shell cmd dos símbolo
cómo comprimir directorios archivos por lotes a través de la línea de comando comando línea de comando comprimir archivos directorio carpetas shell cmd dos símbolo
Comentários (0)
Carregando comentários…