sexta-feira, 19 de outubro de 2012
Descompactar um arquivo usando powershell
Segue abaixo como descompactar arquivos usando powershell.
$Source = "c:\arquivo.zip"
$Destination = "c:\pastadestino"
Unblock-File $Destination
#apenas no PowerShell v3
#chama a aplicação do zip e abre o arquivo zip
$helper = New-Object -ComObject Shell.Application
$files = $helper.NameSpace($Source).Items()
#copia os arquivos para pasta de destino
$helper.NameSpace($Destination).CopyHere($files)
=============== ATUALIZANDO O POST =======================
Só para auxiliar os proximos.
No Powershell v5 você pode utilizar os seguintes cmdlets
Para descompactar.
Expand-Archive -Path $Source -DestinationPath $Destination
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.archive/expand-archive
Assinar:
Postar comentários (Atom)
Lauro tenho uma dúvida
ResponderExcluirtenho um código que compacta um arquivo quebrando o mesmo em vários, bastando apenas determinar a capacidade que quero pra cada um.
ResponderExcluir$diretorioDeBackup = "E:\Backup"
$nomeArquivo = "E:\Backup"
$compactador = "C:\Program Files\7-Zip\7z"
$compactadorParametros = "a -t7z -mx=1 -mmt=off -V524288000 ""$($nomeArquivo).7z"" ""$($diretorioDeBackup)"""
$comando = "$($compactador) $($compactadorParametros)"
Write-Host "Executando $($comando) ..."
$ps = new-object System.Diagnostics.Process
$ps.StartInfo.FileName = $compactador
$ps.StartInfo.Arguments = $compactadorParametros
$ps.StartInfo.WorkingDirectory = $diretorioDeBackup
$ps.StartInfo.RedirectStandardOutput = $true
$ps.StartInfo.RedirectStandardError = $true
$ps.StartInfo.UseShellExecute = $false
if ($ps.Start() -eq $true) {
Write-Host "Processo iniciado em $($ps.StartTime)"
$ps.WaitForExit()
Write-Host "Processo finalizado em $($ps.ExitTime)"
Remove-Item E:\Backup -Force -Recurse
$ps.StandardOutput.ReadToEnd()
$ps.StandardError.ReadToEnd()
$exiteCode = $ps.ExitCode
} else {
Write-Host "Erro executando compactador."
}
porém agora preciso descompacta-lo, e não sei como fazer!
Tem alguma ideia???
Obrigada
Só para auxiliar os proximos.
ResponderExcluirNo Powershell v5 você pode utilizar os seguintes cmdlets
Para descompactar.
Expand-Archive -Path $Source -DestinationPath $Destination
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.archive/expand-archive
Para comprimir
PS C:\> Compress-Archive -LiteralPath C:\Reference\Draftdoc.docx, C:\Reference\Images\diagram2.vsd -CompressionLevel Optimal -DestinationPath C:\Archives\Draft.Zip
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.archive/compress-archive
Boa!!!
Excluir