
¿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.