Búsqueda de sitios web

¿Cómo descomprimir un archivo en una carpeta usando PowerShell?


Descripción general

  • Usando Expand-Archive para descomprimir archivos
  • Usando la clase .Net System.IO.Compression.ZipFile para extraer el contenido del archivo comprimido a una carpeta
  • secuencia de comandos de PowerShell

PowerShell Microsoft.PowerShell.Archive module contiene dos cmdlets que le permiten crear un archivo zip y extraer o descomprimir un archivo en una carpeta.

Estos cmdlets son:

Compress-Archive: el cmdlet le permite comprimir o comprimir el archivo desde archivos o directorios específicos.

Expand-Archive: el cmdlet le permite extraer o descomprimir archivos de un archivo comprimido especificado en un directorio de destino específico.

Lea más sobre cómo descargar un archivo zip desde la URL usando PowerShell.

Los siguientes pasos describen cómo descomprimir un archivo en una carpeta

  • Usando el cmdlet Expandir-Archivo
Expand-Archive -LiteralPath 'D:\PowerShell\archive[v1].Zip' -DestinationPath D:\PowerShell\UnzippedFolder

El comando anterior extrae el contenido del archivo comprimido [v1].zip a un parámetro de ruta de destino especificado D:\PowerShell\UnzippedFolder

El cmdlet PowerShell Expand-Archive descomprime el contenido de un archivo. En el comando anterior, hemos utilizado LiteralPath ya que el archivo zip contiene caracteres comodín en el nombre del archivo.

En el siguiente ejemplo, usaremos el cmdlet Expand-Archive con el parámetro -Path para la ubicación del archivo zip y el parámetro -DestinationPath para extraer el contenido del archivo comprimido.

Expand-Archive -Path 'D:\PowerShell\archive.Zip' -DestinationPath D:\PowerShell\UnzippedFolder
  • Usando la clase .Net System.IO.Compression.ZipFile

.Net Framework 4.5 presenta la clase ZipFile para administrar archivos comprimidos. La clase ZipFile está disponible en el espacio de nombres System.IO.Compression. La clase ZipFile proporciona métodos estáticos para crear, extraer y abrir archivos.

Consejo: Para utilizar la clase ZipFile, agregue una referencia del ensamblado System.IO.Compression.Filesystem en su secuencia de comandos.

El siguiente ejemplo muestra cómo extraer el contenido del archivo zip a una carpeta:

Add-Type -Assembly "System.IO.Compression.Filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory('D:\PowerShell\vscode-docker-master.zip','D:\PowerShell\Zip\UnZipFiles')

Hemos agregado la referencia del ensamblado System.IO.Compression.Filesystem. La clase ZipFile proporciona el método ExtractToDirectory que acepta la ruta del nombre del archivo fuente y la ruta de destino para extraer el contenido del archivo zip.

Secuencia de comandos de PowerShell

# Using Expand-Archive and LiteralPath parameter

Expand-Archive -LiteralPath 'D:\PowerShell\archive[v1].Zip' -DestinationPath D:\PowerShell\UnzippedFolder

#Using Expand-Archive and Path parameter

Expand-Archive -Path 'D:\PowerShell\archive.Zip' -DestinationPath D:\PowerShell\UnzippedFolder

#Using .Net class System.IO.Compression.ZipFile

Add-Type -Assembly "System.IO.Compression.Filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory('D:\PowerShell\vscode-docker-master.zip','D:\PowerShell\Zip\UnZipFiles')

Conclusión

El artículo anterior le ayudará a descomprimir un archivo en una carpeta específica utilizando varias formas en el script de PowerShell.

Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.

Artículos relacionados