unzip file using 7z in powershell

This finally worked for me sz x -o$destinationUnzipPath $zipfilePath -r ;


I didn't want to use aliases, functions or Start-Process. After a little looking around the web, I've found this gem (and I can't remember where):

& ${env:ProgramFiles}\7-Zip\7z.exe x $zipfilePath "-o$($destinationUnzipPath)" -y

And you can add a > $null at the end if you don't want to see 7z's messages!


With 7zip PowerShell module, now it is hassle free

#   Install 7zip module

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Set-PSRepository -Name 'PSGallery' -SourceLocation "https://www.powershellgallery.com/api/v2" -InstallationPolicy Trusted
Install-Module -Name 7Zip4PowerShell -Force

#   Extract 7zip file

$sourcefile = "c:\source\sample.7z"
Expand-7Zip -ArchiveFileName $sourcefile -TargetPath 'c:\destinaation'