Crear archivos ZIP desde la consola de Windows 10 usando PowerShell

Hace unos días, aprendimos a Comprimir archivos desde la línea de comandos de Windows 10. Sin embargo, en ese caso, los archivos se comprimían de forma individual.

Si lo que buscamos es crear un solo archivo comprimido, al estilo tradicional, que contenga en su interior una copia de varios archivos y/o carpetas, pero ocupando menos espacio que los originales, necesitaremos el cmdlet Compress-Archive.

Ejecutar PowerShell

Como ya hemos dicho en otros momentos, PowerShell es un intérprete de comandos de Windows bastante más avanzado que el tradicional CMD. Sin embargo, para ejecutarlo, necesitamos hacerlo desde éste último.

Por lo tanto, comenzaremospor abrirlo haciendo clic sobre el botón Inicio en la parte inferior del Escritorio

… Y, a continuación, en el menú que aparece, haremos clic sobre la opción Símbolo del sistema.

Comprimir-archivos-desde-la-línea-de-comandos-de-Windows-10-001

De este modo, obtenemos una nueva ventana con el intérprete de comandos de estándar de Windows, el conocido CMD, listo para comenzar a recibir órdenes.

Ahora, sólo tenemos que ejecutar el propio PowerShell.

Escribimos el nombre de la interfaz de consola y pulsamos la tecla Intro.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-001

A partir de aquí, podemos comenzar a escribir las diferentes ordenes…

Comprimir todos los archivos de una carpeta

La orden completa para comprimir todos los archivos contenidos en una carpeta tendrá un aspecto parecido al que muestra el siguiente ejemplo:

Compress-Archive .\Documents\Fotos misfotos

Como vemos, tras el nombre del cmdlet debemos incluir dos argumentos:

  1. El primero indica el origen de los datos a comprimir. En este caso, la carpeta Fotos, que se encuentra dentro de Documents.

    Si no quisiéramos incluir todos los archivos de la carpeta Fotos, bastaría con incluir el patrón de los archivos a comprimir (por ejemplo, .\Documents\Fotos\*.jpg para incluir sólo los archivos con extensión .jpg).

  2. El segundo representa el nombre que le daremos al archivo comprimido. Su extensión será .zip, pero como puedes ver más arriba, nos es necesario incluirla.

    También podríamos haber incluido una ruta como parte del nombre del archivo. Si no lo hacemos, el archivo comprimido se creará en la carpeta actual.

Escribimos la orden anterior y pulsamos la tecla Intro.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-002

Al hacerlo, veremos una barra de progreso (al estilo de la línea de comandos) que nos informa del avance de la tarea.

Sólo tenemos que esperar unos instantes.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-003

Para comprobar que el archivo se ha creado correctamente, basta con consultar el contenido del directorio actual. Por ejemplo, con la siguiente orden:

dir

El nuevo archivo aparece entre el contenido del directorio actual.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-004

También podemos comprobarlo utilizando en explorador de archivos.

De nuevo, vemos que el archivo comprimido se encuentra entre el contenido del directorio actual.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-005

Si necesitas más información sobre el cmdlet Compress-Archive, te recomiendo que consultes la página https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.archive/compress-archive.

Extraer el contenido de un archivo comprimido

Si lo que necesitamos es extraer el contenido de un archivo comprimido, podemos utilizar el cmdlet Expand-Archive. En realidad, su sintaxis básica es muy sencilla. basta con indicar la ruta donde se encuentra el archivo a descomprimir. Por ejemplo, para descomprimir el archivo del ejemplo anterior, bastaría con usar la siguiente orden:

Expand-Archive .\misfotos.zip

En este caso, estamos extrayendo el contenido de un archivo que se encuentra en la carpeta actual (por eso comenzamos la ruta con .\) y su contenido también se guardará en la carpeta actual.

En caso de que quisiéramos guardar el resultado de la extracción en una carpeta diferente, sólo tendríamos que añadir la ruta concreta a continuación de la orden anterior.

Escribimos la orden anterior y pulsamos la tecla Intro.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-006

Al hacerlo, veremos de nuevo una barra de progreso que nos informa del avance de la tarea.

Como en el caso de la compresión, sólo tenemos que esperar unos instantes.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-007

A continuación, si usamos el explorador de archivos para comprobar el contenido de la carpeta actual, comprobaremos que ha aparecido una nueva carpeta con el nombre del archivo comprimido.

En su interior, encontraremos una copia de los datos originales que habíamos comprimido.

Crear-archivos-ZIP-desde-la-consola-de-Windows-10-usando-PowerShell-008

Si necesitas más información sobre el cmdlet Expand-Archive, te recomiendo que consultes la página https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.archive/expand-archive.

Y hasta aquí el artículo de hoy. Espero que te resulte útil.