Descomprimir en PowerShell

Migel Hewage Nimesha 30 enero 2023
  1. Sintaxis 1 de Expand-Archive
  2. Sintaxis 2 de Expand-Archive
  3. Parámetros de Expand-Archive
  4. Ejemplos de archivos de descompresión de PowerShell
Descomprimir en PowerShell

El tipo de archivo ZIP minimiza su tamaño al comprimir los archivos en un solo archivo. Este método ahorra espacio en el disco duro, cifra la información y simplifica el intercambio de archivos entre sí.

PowerShell extrae archivos y carpetas de un archivo Zip específico en el mismo directorio donde reside el archivo ZIP o en la ruta de destino especificada mediante el comando Expand-Archive.

Aquí podemos usar dos sintaxis diferentes para la eliminación. Estos dos se pueden usar por separado pero no combinados.

Sintaxis 1 de Expand-Archive

Aquí se usa la propiedad de la ruta, y los comodines son posibles al dar la ruta.

Expand-Archive
      [-Path] <String>
      [[-DestinationPath] <String>]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Sintaxis 2 de Expand-Archive

La siguiente opción es la ruta literal. Aquí, la ruta dada debe ser precisa ya que se toma como dada y no se permite el uso de comodines. Si la ruta contiene caracteres de escape, encierre cada carácter de escape entre comillas simples para indicarle a PowerShell que ningún carácter debe interpretarse como patrones de escape.

Expand-Archive
      -LiteralPath <String>
      [[-DestinationPath] <String>]
      [-Force]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Parámetros de Expand-Archive

El nombre y la descripción de los parámetros más comunes utilizados se dan a continuación.

Nombre Descripción
-Confirm se solicita confirmación antes de ejecutar el cmdlet
-DestinationZip Especifique la ruta a la carpeta de descompresión. Si la carpeta no existe, se crea la carpeta de destino
-Force forzar cmdlet sin confirmación
-LiteralPath Proporcione la ruta al archivo de almacenamiento. El valor de la ruta literal se toma exactamente como se da.
-PassThru Salida de una lista de archivos que se expande desde el archivo
-Path especificar la ruta al archivo de almacenamiento
-WhatIf muestra lo que sucede si el cmdlet se ejecuta sin ejecutarlo realmente

Ejemplos de archivos de descompresión de PowerShell

Ejemplo 1:

Los elementos de un archivo de almacenamiento actual en el directorio actual se extraen en la carpeta proporcionada por la opción -DestinationPath en este ejemplo.

Expand-Archive -Path test.Zip -DestinationPath C:\Test

Ejemplo 2:

Es aún más fácil extraer archivos de un archivo que crear uno. Todo lo que tiene que hacer es dar el nombre del archivo comprimido y la ubicación de destino de los archivos descomprimidos. Con el cmdlet Expand-Archive, el siguiente código exporta el contenido del archivo zip de prueba a una carpeta específica TestUnzipped en la variable de ruta de destino.

Expand-Archive -LiteralPath 'C:\Archives\test[v1].Zip' -DestinationPath C:\TestUnzipped

Dado que el nombre del archivo contiene caracteres que pueden interpretarse como comodines, se utiliza la opción LiteralPath.

Si no usa el argumento -DestinationPath, PowerShell desempaquetará los archivos en la carpeta raíz actual y creará una nueva carpeta con el nombre de archivo del archivo Zip.

Cuando PowerShell intente extraer los archivos, generará un error si el directorio ahora existe en el destino. Usando el argumento -Force, puede presionar PowerShell para reemplazar los datos antiguos con datos nuevos.

El argumento -Force solo debe usarse si los archivos antiguos realmente ya no son necesarios, ya que sobrescribirá permanentemente los archivos en su máquina.

El archivo ZIP comprime y almacena archivos y directorios en un solo documento. Sin tener que instalar ningún software, PowerShell puede recuperarlos de varios métodos. El enfoque descrito anteriormente es aplicable tanto a aplicaciones multiplataforma como nativas.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.