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…
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.
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:
-
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).
-
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.
Al hacerlo, veremos una barra de progreso (al estilo de la línea de comandos) que nos informa del avance de la tarea.
Para comprobar que el archivo se ha creado correctamente, basta con consultar el contenido del directorio actual. Por ejemplo, con la siguiente orden:
dir
También podemos comprobarlo utilizando en explorador de archivos.
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.
Al hacerlo, veremos de nuevo una barra de progreso que nos informa del avance de la tarea.
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.
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.