Ejemplos de la línea de comandos de 7-Zip

Este tutorial muestra 7-Zip en la línea de comandos. Comprime, extrae, archiva y optimiza con el ejecutable 7za.exe.

7-Zip es un eficaz programa de compresión.

El programa 7za.exe se utiliza para comprimir, extraer y actualizar archivos a través de la línea de comandos. Proporciona una compresión superior. Es de código abierto. Esto hace que sea fácil de obtener y utilizar.

Inicio. Primero necesita descargar el ejecutable de línea de comandos de 7-Zip, 7za.exe. Este es el exe que usarás para ejecutar comandos en los archivos. Por favor, vaya a 7-zip.org y obtenga la versión de línea de comandos.

Consejo: Por comodidad y para no tener que cambiar las rutas de entorno, ponga el archivo 7za.exe en su directorio de usuario.

Siguiente: Abra la consola de Windows y pruebe el programa 7za.exe con algunos comandos. Escribe el nombre del exe 7za y esto se mostrará.

7-Zip default output7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19Usage: 7za <command> <archive_name> 

Vemos la gramática que debemos utilizar con 7za.exe. El «comando» es el verbo principal. Luego se especifican interruptores opcionales, el nombre del archivo (ya sea de origen o de destino) y los archivos. Mi directorio de usuario es «C:\NUsers\Sam».

Comando a. Puedes usar el comando «a» con la sola letra a. Este comando significa «archivar» o «añadir». Utilízalo para poner ficheros en un archivo. Tiene que especificar el archivo de destino, y los archivos de origen (en ese orden).

En el sistema de prueba, el directorio C:³³Sam contiene dos archivos (archivo1.txt y archivo2.txt). El comando pone esos dos ficheros en un archivo, y hay que escribirlo en el símbolo del sistema.

C:\Users\Sam>7za a -t7z files.7z *.txt7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19ScanningCreating archive files.7zCompressing file1.txtCompressing file2.txtEverything is OkC:\Users\Sam>

Consejo: Para abrir el archivo, haz clic con el botón derecho del ratón y selecciona 7-Zip -> Abrir archivo. La captura de pantalla muestra los archivos comprimidos en files.7z.

Comando d. Aquí vemos un ejemplo del comando «d» en las líneas de comando de 7-Zip. Significa «borrar» y se utiliza con mucha menos frecuencia. Permite eliminar un determinado archivo (o conjunto de archivos) del interior de un archivo.

Nota: lo necesitarás si utilizas archivos enormes y necesitas ahorrar tiempo. Esto es del manual.

7z d archive.zip *.bak -r7z: use executabled: delete filesarchive.zip: delete from this archive*.bak: only match bak files-r: traverse all subdirectories

Consejo: También puedes eliminar un solo fichero de un archivo con «d». Esto es más útil cuando no tienes un archivo sólido.

Comando e. Aquí usamos el comando «e» en su ventana de consola. La «e» significa extraer, y significa descomprimir o expandir un archivo. Debe especificar el archivo de origen siempre, y también puede especificar un destino.

Información: El comando «e» extrae todo a un directorio especificado. Otro comando «x» puede preservar las estructuras de directorios en los archivos.

7z e archive.zip7z: executablee: use extract commandarchive.zip: source archive you want to expand

Preguntas de sobrescritura: 7-Zip siempre le preguntará si hay un archivo que necesita sobrescribir para extraer el nuevo archivo.

Sin embargo: Esto puede ser problemático si estás haciendo scripts o incrustando 7za.exe. En ese caso, vea el interruptor -y.

Comando l. A continuación utilizamos el comando de una sola letra «l» (letra minúscula ell). La L minúscula se usa para listar el contenido de los archivos y probablemente no necesitarás usarla a menudo. Pensé en probarlo y mostrar un ejemplo.

Siguiente: Esto muestra el listado de un archivo sólido. Los originales son 27216 bytes y 3888 bytes. Se comprimen hasta 1030 bytes.

C:\Users\Sam>7za l files.7z7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19Listing archive: files.7zMethod = LZMASolid = +Blocks = 1Physical Size = 1202Headers Size = 172 Date Time Attr Size Compressed Name------------------- ----- ------------ ------------ ------------------------2008-10-02 15:48:01 ....A 27216 1030 file1.txt2008-10-02 15:47:45 ....A 3888 file2.txt------------------- ----- ------------ ------------ ------------------------ 31104 1030 2 files, 0 folders

Comando t. Aquí utilizamos el comando «t» del programa 7z. Este comando permite comprobar la integridad de los archivos. Significa ‘test’ y es mucho menos útil que el interruptor «-t». No confunda los dos. Este se utiliza para el diagnóstico.

7z t archive.zip *.doc -r7z: use this executablet: test the specified archivearchive.zip: the archive you want to test*.doc: test all these files in the archive-r: recurse all child directories

Comando u. El comando «u» en 7-Zip significa actualización. Este es un comando útil y es genial cuando quieres reemplazar archivos viejos en tu archivo con archivos más nuevos. Esto evita tener que descomprimir y volver a comprimir todo el archivo.

7z u archive.zip *.doc7z: executable nameu: update commandarchive.zip: archive you want to update files in*.doc: only update these files (Word documents)

Atención: El comando «u» no funciona con archivos sólidos. Un archivo sólido es aquel en el que todos los archivos están comprimidos juntos.

Entonces: No puedes actualizar archivos específicos en archivos sólidos con el comando «u». Los archivos sólidos están limitados.

Conmutar m. Podemos cambiar la configuración de optimización en 7-Zip en la línea de comandos. Esta es la opción más importante y útil que puede utilizar. Especifica el método de compresión. Aquí mostraré un montón de opciones, y también algunos ejemplos.

Niveles de compresión

Compression levelsSwitch -mx0: Don't compress at all. This is called "copy mode."Switch -mx1: Low compression. This is called "fastest" mode.Switch -mx3: Fast compression mode. Will automatically set various parameters.Switch -mx5: Same as above, but "normal."Switch -mx7: This means "maximum" compression.Switch -mx9: This means "ultra" compression. You probably want to use this.

Switch m, avanzado. Aquí están los interruptores del método de compresión avanzado (-m). Los tres primeros suelen ser de uso limitado, pero puede que te beneficies de ajustarlos. Mi experiencia es que las optimizaciones manuales de estas opciones no producen grandes beneficios.

Switch -mfb: Especifica el número de bytes rápidos. A veces ayuda con archivos «escasos». No se moleste.

Switch -mpass: Número de pasadas para la compresión deflate. No se moleste con esto. Se establece automáticamente con los niveles.

Switch -md: Especifica el tamaño del diccionario. Se establece automáticamente, así que no te molestes.

Switch -mmt: Habilita el multithreading. Utilízalo si tienes cuatro núcleos y un archivo enorme. Especifica «on» o «off». Esto puede estar habilitado por defecto.

Comando x. Este comando es como «e» excepto que preserva las rutas completas. Si tiene una estructura de directorios elaborada o importante, utilice esta opción. Esto sería más útil para las copias de seguridad del sistema o las copias de seguridad realmente grandes. Aquí está la sintaxis de ejemplo.

7z x archive.zip7z: executable namex: use the extract commandarchive.zip: the archive you want to extract all the files from

Cambiar el tipo t. Aquí muestro cómo especificar el tipo de archivo preciso que quieres crear. Tenga en cuenta que puede especificar cualquier nombre de archivo que desee para cualquier tipo. Pero se recomiendan algunas extensiones, que son estándar.

Type switches Switch: -t7z Format: 7ZExample filename: archive.7z (default option) Switch: -tgzip Format: GZIPExample filename: archive.gzip, archive.gz Switch: -tzip Format: ZIPExample filename: archive.zip (compatible) Switch: -tbzip2 Format: BZIP2Example filename: archive.bzip2 Switch: -ttar Format: TARExample filename: tarball.tar (UNIX and Linux) Switch: -tiso Format: ISOExample filename: image.iso (may not be supported) Switch: -tudf Format: UDFExample filename: disk.udf

También, el manual de 7-Zip proporciona algunos ejemplos útiles para los cambios de tipo. Muestra los interruptores -tiso y -tudf. Estos no son los más comunes. Casi todos los ejemplos de este documento utilizan los interruptores -t.

7z a -tiso archive.iso7z a -tudf archive.udf7z: executable namea: add to archive-tiso or -tudf: format of archive to createarchive.iso or archive.udf: name of archive to create

Archivos sólidos. 7z es el único formato de archivo en 7-Zip que puede especificar si el archivo es sólido o no. Sólido significa que todos los archivos están comprimidos como uno solo. Hace imposible utilizar el comando «u» para actualizar archivos individuales.

Switch -ms=on: Activa el modo sólido. Este es el valor por defecto por lo que no necesitará especificarlo a menudo.

Switch -ms=off: Desactiva el modo sólido. Útil cuando se necesita actualizar archivos individuales. Reducirá los ratios de compresión normalmente.

Archivos 7z. Puedes cambiar muchos valores e interruptores en los archivos 7z, con infinitas permutaciones. Algunas cosas que puedes cambiar son los tamaños de los diccionarios, los valores de FastBytes, los valores de MatchFinder y los filtros. Normalmente no es necesario ocuparse de esto.

PPMd. Con el formato 7z, puedes especificar el algoritmo. PPMd es rápido y eficaz para comprimir archivos de texto plano. Es ideal para grandes colecciones de documentos de Word. PPMd no funciona tan bien en archivos que contienen datos binarios.

PPMd cambia -mmem=24b, -mmem=24k, -mmem=24m: Estos controlan la cantidad de memoria que utiliza. Son útiles y un valor más alto es normalmente mejor.

PPMd switch -mo=2, -mo=32: Estos especifican el orden del modelo en PPMd. Normalmente no son útiles.

¿Cuándo debo usar PPMd? Debería utilizar PPMd cuando tenga un corpus (cuerpo) grande de texto. Este puede incluir HTML u otro tipo de formato, pero debería predominar el texto plano. Puede mejorar los ratios en torno al 30% en algunos conjuntos de datos.

Ejemplos de comandos. Aquí muestro los comandos de compresión de ejemplo del manual de 7-Zip. Al principio de este documento mostré unos sencillos. Estos son más complejos. Utilizamos más características de la línea de comandos de 7-Zip.

7z a -tzip archive.zip *.jpg -mx07z: name of executablea: add to archive command-tzip: specify a ZIP archive (useful for compatibility)archive.zip: destination archive*.jpg: only add jpg files to archive-mx0: don't compress, just copy useful for already-compressed files

Ejemplo de formato 7z. Esta siguiente línea de comandos muestra cómo crear un archivo 7z sólido de archivos de programa (ejecutables). Utiliza el modo multihilo, lo que significa que será rápido en una máquina de doble núcleo.

7z a -t7z archive.7z *.exe *.dll -ms -mmt7z: name of executablea: archive command specified-t7z: use 7z file type (less compatible and smaller results)archive.7z: destination archive file*.exe: include all *.exe files in directory in new archive*.dll: include all *.dll files in new archive-ms: create solid archive (default)-mmt: multithread the operation (faster)

Crear archivo PPMd. PPMd es un extraordinario algoritmo para comprimir texto y es relativamente nuevo. Aquí muestro un comando del manual de 7-Zip que comprime todos los archivos de texto en el directorio de trabajo. Crea un archivo PPMd.

Consejo: El comando es útil porque normalmente querrá comprimir sólo los archivos de texto con PPMd.

Compresión PPMd

7z a -t7z archive.7z *.txt -m0=PPMd7z: executable name/patha: add command specified-t7z: use the 7z format (needed for PPMd)archive.7z: destination archive file*.txt: select all text files-mo=PPMd: compress with this algorithm

Switch o. Mostramos el switch «o» en la línea de comandos de 7-Zip. A veces no se quiere extraer al directorio actual. Aquí es donde -o puede ser útil. Utilízalo para establecer el directorio de destino.

7z x archive.zip -oC:\Doc7z: executable namex: extract archive with paths intactarchive.zip: archive to extract files from-oC:\Doc: extract all files to the Doc folder on the C: drive

Switch p. Podemos utilizar el switch «-p», que hace referencia a la palabra «password». Esto es realmente útil cuando se trata de seguridad y encriptación. Puedes especificar una contraseña en la línea de comandos. La sintaxis es un poco rara.

7za a pw.7z *.txt -pSECRET7za: name and path of 7-Zip executablea: add to archivepw.7z: name of destination archive*.txt: add all text files to destination archive-pSECRET: specify the password "SECRET"

Abrir archivos protegidos por contraseña. La siguiente salida de consola muestra lo que ocurre cuando se intenta abrir el archivo protegido por contraseña. La contraseña aquí es SECRET, que permitirá extraer el archivo.

C:\Users\Sam>7za x pw.7z7-Zip (A) 4.60 beta Copyright (c) 1999-2008 Igor Pavlov 2008-08-19Processing archive: pw.7zEnter password:

Encriptación de encabezados: Añade -mhe para encriptar las cabeceras. El comando password se encargará automáticamente de las cabeceras encriptadas.

Consejo: Recuerda que las cabeceras encriptadas ocultarán los nombres de los ficheros de tu archivo.

Más interruptores. Aquí veremos más interruptores que son de uso limitado. Sin embargo, es útil conocerlos si alguna vez necesita utilizarlos. Por lo general, usted puede hacer mejor simplemente utilizando los valores predeterminados que se ajustan ligeramente para su requisito.

Interruptor -ssc: Especifica el modo de distinguir entre mayúsculas y minúsculas. El valor por defecto es -ssc- en Windows (insensible). El valor por defecto es -scc en Linux (sensible).

Switch -ssw: Comprime los archivos bloqueados. Puedes probar esto si tienes problemas para abrir archivos.

Switch -w: Establecer el directorio de trabajo. Puedes usar esto cuando quieras especificar carpetas temporales.

Case-sensitive. Podemos usar nombres de archivos que no distingan entre mayúsculas y minúsculas en la línea de comandos de 7-Zip. Para aquellos que usan tanto Linux como Windows, la opción de distinguir entre mayúsculas y minúsculas es útil. Aquí mostraré mi propio ejemplo con alguna explicación.

7za.exe a archive.7z Z*.* -ssc7za.exe: 7-Zip command-line executable path and namea: archive commandarchive.7z: add files to this target archiveZ*.*: select only files whose first letter is a capital Z

Switch v. Se puede utilizar el switch «v» en la línea de comandos. En la compresión de datos, un volumen es un segmento de un conjunto de datos que tiene un determinado número de bytes. El conmutador de volumen especifica el tamaño exacto en bytes, kilobytes o megabytes.

También: Puede especificar volúmenes secuenciales con el conmutador «v» en la línea de comandos de 7za.exe.

Conmutador ao. El conmutador «ao» le permite especificar si desea sobrescribir los archivos antiguos. Tenga cuidado-no puede restaurar un archivo sobrescrito normalmente. Se necesita otro argumento. Haga una copia de seguridad de sus datos copiando primero los archivos en su gestor de archivos.

Switch -aoa: Este interruptor sobrescribe todos los archivos de destino. Utilícelo cuando se prefieran las nuevas versiones.

Switch -aos: Pasa por encima de los archivos existentes sin sobrescribir. Utilícelo para los archivos en los que la versión más antigua sea la más importante.

Switch -aou: Evita las colisiones de nombres. Los nuevos archivos extraídos tendrán un número añadido a sus nombres. Usted tendrá que lidiar con ellos más tarde.

Switch -aot: Cambiar el nombre de los archivos existentes. Esto no renombrará los nuevos archivos, sólo los viejos que ya están allí.

Example of the switches7z x test.zip -aoa7z: use the 7-zip executablex: use the extract commandtest.zip: extract files from this archive-aoa: overwrite all existing files. risky!

Ficheros múltiples. Esta sección aborda la adición de múltiples archivos a un archivo. Para añadir varios ficheros a un archivo, utilice el comando «a» y el símbolo comodín *. Especifique el nombre del archivo de destino y los archivos de origen después.

Consejo: Por favor, lea más en la sección que cubre el comando «a», que se encuentra en la parte anterior de esta página.

¿Cómo puedo añadir muchos archivos con una extensión específica? Utilice el comando «a» y el símbolo de comodín *, pero especifique la extensión después del comodín. Por ejemplo, *.txt significa todos los archivos de texto. Puede utilizar el comodín en cualquier lugar.

¿Cómo puedo añadir muchos archivos de un subdirectorio completo? Especifique sólo el nombre del directorio. No es necesario utilizar un comodín. El manual de 7-Zip muestra este ejemplo de forma muy útil. Especifica un directorio entero llamado «subdir».

7z a -tzip archive.zip subdir\7z: use executablea: add to archive-tzip: use zip compressionarchive.zip: create this archivesubdir\: source directory

Formatos. Esta sección responde a las preguntas sobre la elección de los formatos. En primer lugar, para utilizar la compresión GZip, especifique la opción «-tgzip» para el interruptor de tipo. Esta es una gran manera de comprimir archivos en su servidor web para la compresión HTTP.

7-Zip DEFLATE

¿Cómo puedo usar BZip2? Puedes utilizar BZip2 especificando el modificador «-tbzip2». Esto puede combinarse con cualquier nivel de compresión de las tablas anteriores. Los diferentes modos de 7-Zip utilizan automáticamente muchas configuraciones diferentes.

¿Cómo puedo utilizar el formato 7z? Especificando el interruptor «-t7z» para el tipo. O simplemente puede omitir el interruptor de tipo y que por defecto será 7z. Este formato ofrece los mayores ratios de compresión, pero no funciona en todos los sitios.

Promos. Puede evitar que 7-Zip muestre avisos. Utilice el interruptor -y. Esto asumirá una respuesta afirmativa a todos los avisos. Use esto sólo cuando esté seguro de que no va a perder ningún dato.

Preguntas. Hay muchas más posibilidades y usos del programa 7-Zip en la línea de comandos tanto en Windows como en Linux. Esta sección responde a algunas preguntas que me surgieron al hacer esta investigación, y también a algunas preguntas que puedes tener.

¿Por qué no puedo actualizar mi archivo? Probablemente sea un archivo sólido. Los archivos 7z son, por defecto, archivos sólidos: todos los archivos están comprimidos juntos. Cambie el archivo para que no sea sólido si quiere actualizarlo. Busque en esta página «solid».

¿Puedo especificar el directorio de salida? Sí, utilice el comando «e» y combínelo con el modificador -o. La sintaxis con -o es un poco curiosa así que mostraré el ejemplo del archivo de ayuda de 7-Zip. Así es como funciona.

7z e archive.zip -oC:\soft *.cpp -r7z: executablee: use extract commandarchive.zip: source archive you want to extract from-oC:\soft: the destination folder (-o is the switch and C:\soft is the argument)*.cpp: only extract cpp files (C++)-r: traverse all subdirectories

¿Cómo puedo ver lo que hay dentro de un archivo? Utilice el comando «l» como se muestra arriba. Es posible que quieras usar «l» en una utilidad que ejecutes desde una línea de comandos para asegurarte de que tu archivado por lotes funciona correctamente.

¿Cómo puedo excluir ciertos archivos? Casi al principio vimos cómo añadir archivos basados en filtros, pero a veces quieres excluir manualmente ciertos archivos. Utilice el interruptor -x, seguido inmediatamente de un signo de exclamación y luego el nombre del archivo.

Así: Si quiere excluir «archivo1.txt», utilice el modificador «-x!archivo1.txt». Incluya el guión y la exclamación.

¿Cómo puedo sustituir los archivos que ya están en el disco por otros nuevos? Utilizando el modificador -ao, descrito anteriormente. Hay otras opciones, y normalmente es mejor usar una de las opciones de renombrado (-aou o -aot).

¿Puedo ignorar la extracción de archivos que ya están en el disco? Sí: especifique la opción -aos, que significa «omitir la sobrescritura de archivos». Esto hará que 7za.exe no copie los archivos más nuevos fuera del archivo.

Nota: Utilice -aos si sus archivos no cambian con el tiempo y sobrescribirlos sería simplemente un desperdicio.

Embed. Puede incrustar 7-Zip en un programa Windows .NET usando el tutorial en mi artículo sobre .NET 7-Zip. Esto produce la misma gran compresión pero en su propia GUI. El enlace muestra algunos ratios de compresión.

7-Zip Executable

Configuración interna. Puedes cambiar la configuración interna. No es necesario hacerlo normalmente, ya que se establecen automáticamente. Recomiendo sólo usar la configuración mx=0 (y 3, 5, 7, 9). Un estudio en profundidad sería fascinante.

¿Qué valores puedo cambiar en los internos? Puedes cambiar los filtros de compresión, que cambian el comportamiento de los archivos ejecutables como *.exe y *.dll. Puede habilitar la compresión de cabecera y el cifrado (-mhc=on y -mhe=on).

Consejo: La compresión de cabecera está habilitada por defecto. El cifrado debe estar explícitamente activado.

AdvanceCOMP. Puede utilizar AdvanceCOMP para mejorar los ratios de compresión. La mejora suele ser pequeña, menos del 1%. 7-Zip y AdvanceCOMP utilizan el mismo codificador Deflate, pero AdvanceCOMP tiene más opciones y es más fino.

AdvanceCOMP

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *