Comprimir y descomprimir archivos usando PowerShell

  1. Comprimir archivos usando PowerShell
  2. Descomprimir archivos usando PowerShell
Comprimir y descomprimir archivos usando PowerShell

En PowerShell 5.0, Microsoft tiene comandos para crear archivos zip y extraer archivos de archivos existentes. Este artículo discutirá los comandos de PowerShell para archivar y descomprimir archivos comprimidos.

Los siguientes comandos son dos de los cmdlets más nuevos publicados en PowerShell v5.0: el comando Compress-Archive crea un archivo comprimido comprimido a partir de carpetas o archivos individuales y el comando Expand-Archive para extraer archivos de un archivo comprimido comprimido.

Comprimir archivos usando PowerShell

Usemos PowerShell para comprimir archivos en un nuevo archivo .zip.

Use el parámetro -Path para especificar la ubicación de la carpeta que queremos comprimir y el parámetro -DestinationPath para especificar el nombre del archivo comprimido que desea crear.

Por ejemplo, el siguiente comando comprimirá la carpeta Temp en el directorio raíz C: y creará un archivo llamado Temp_Files.zip en la carpeta Temp:

Compress-Archive -Path C:\Temp -DestinationPath C:\Temp\Temp_Files.zip

Alternativamente, podríamos comprimir los archivos en la carpeta Temp individualmente usando el parámetro -LiteralPath en lugar del parámetro -Path. Esto crea un archivo con solo los dos archivos enumerados en el parámetro -LiteralPath:

Compress-Archive -LiteralPath C:\Temp\File1.txt, C:\Temp\File2.txt -DestinationPath C:\Temp\Temp_Files.zip -Force

Agregamos el parámetro -Force para sobrescribir el primer archivo que creé. Sin el parámetro -Force, no puede reemplazar archivos existentes y Windows PowerShell le pedirá que agregue archivos al archivo en su lugar.

Para agregar varios archivos a un archivo, podemos usar el parámetro -Update. Por ejemplo, el siguiente comando agrega todos los archivos en la carpeta Facturas a mi archivo existente Temp_Files.zip:

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip

También podemos utilizar el parámetro -CompressionLevel con uno de estos tres valores: NoCompression, Optimal o Fastest.

Optimal es el valor predeterminado si el parámetro -CompressionLevel no está presente en la expresión. La compresión Optimal utiliza la mejor compresión, pero puede tardar más que Fastest.

Utilice el valor NoCompression para crear un archivo sin compresión.

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip -CompressionLevel Optimal

Descomprimir archivos usando PowerShell

Para extraer archivos de un archivo, debemos especificar el nombre del archivo y la carpeta de destino para los archivos descomprimidos.

El uso del comando Expand-Archive extraerá el contenido del archivo Temp_Files.zip a una carpeta Temp.

Expand-Archive -LiteralPath C:\Temp\Temp_Files.Zip -DestinationPath C:\Temp

Expand-Archive creará automáticamente la carpeta de los archivos extraídos.

Sin embargo, si el archivo comprimido que descomprimimos ya existe en la carpeta de destino, Expand-Archive arrojará un error. Podemos sobrescribir archivos en la carpeta de destino agregando el parámetro -Force a la línea de comando.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell File