¿Cómo comprimir/descomprimir archivos en Powershell?

¿Cómo comprimir/descomprimir archivos en Powershell?

¿Existe una sola línea que comprima/descomprima archivos (*.zip) en PowerShell?

Respuesta1

DotNetZiple permitirá hacer esto desde PowerShell. No es una sola línea, pero la biblioteca le permitirá escribir el script de PowerShell que necesita.

También puede utilizar la interfaz COM, consulteComprima archivos con Windows PowerShell y luego empaquete un gadget de barra lateral de Windows Vista.

Buscar en Google "zip powershell" o "unzip powershell" también puede arrojar resultados útiles.

Respuesta2

Así es como puedes hacerlo únicamente desde Powershell sin herramientas externas. Esto descomprime un archivo llamado test.zip en el directorio de trabajo actual:

$shell_app=new-object -com shell.application
$filename = "test.zip"
$zip_file = $shell_app.namespace((Get-Location).Path + "\$filename")
$destination = $shell_app.namespace((Get-Location).Path)
$destination.Copyhere($zip_file.items())

Respuesta3

Ahora, en .NET Framework 4.5, hay unaArchivo zipclase que puedes usar así:

[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
[System.IO.Compression.ZipFile]::ExtractToDirectory($sourceFile, $targetFolder)

Respuesta4

Es posible que desees consultarExtensiones de la comunidad de PowerShell (PSCX)que tiene cmdlets específicamente para esto.

información relacionada