
Existe uma linha única que compacta/descompacta arquivos (*.zip) no PowerShell?
Responder1
DotNetZippermitirá que você faça isso no PowerShell. Não é uma linha única, mas a biblioteca permitirá que você escreva o script do PowerShell necessário.
Você também pode usar a interface COM, consulteCompactar arquivos com o Windows PowerShell e empacotar um gadget da barra lateral do Windows Vista.
Pesquisar "zip powershell" ou "unzip powershell" no Google também pode gerar resultados úteis.
Responder2
É assim que você pode fazer isso exclusivamente no Powershell, sem nenhuma ferramenta externa. Isso descompacta um arquivo chamado test.zip no diretório de trabalho atual:
$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())
Responder3
Agora, no .NET Framework 4.5, existe umArquivo Zipclasse que você pode usar assim:
[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
[System.IO.Compression.ZipFile]::ExtractToDirectory($sourceFile, $targetFolder)
Responder4
Você pode querer conferirAs extensões da comunidade PowerShell (PSCX)que possui cmdlets especificamente para isso.