Here is a simple way using ExtractToDirectory from System.IO.Compression.ZipFile:
Add-Type -AssemblyName System.IO.Compression.FileSystem function Unzip { param([string]$zipfile, [string]$outpath) [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath) } Unzip "C:\a.zip" "C:\a"
Note that if the target folder doesn’t exist, ExtractToDirectory will create it. Other caveats:
- Existing files will not be overwritten and instead trigger an IOException.
- This method requires at least .NET Framework 4.5, available for Windows Vista and newer.
- Relative paths are not resolved based on the current working directory, see Why don’t .NET objects in PowerShell use the current directory?
See also:
- How to Compress and Extract files (Microsoft Docs)
Related Posts:
- Connect-AzAccount – how to avoid azure device authentication?
- How do I concatenate strings and variables in PowerShell?
- PowerShell equivalent to grep -f
- Running a command as Administrator using PowerShell?
- Setting Windows PowerShell environment variables
- How do I concatenate strings and variables in PowerShell?
- Replace substring in PowerShell
- Echo equivalent in PowerShell for script testing
- Echo equivalent in PowerShell for script testing
- PowerShell says “execution of scripts is disabled on this system.”
- How to use the curl command in PowerShell?
- PowerShell and the -contains operator
- Change directory in PowerShell
- How to handle command-line arguments in PowerShell
- Splitting a string into separate variables
- How to split string by string in Powershell
- How to split string by string in Powershell
- How to export data to CSV in PowerShell?
- Downloading a file with PowerShell
- Terminating a script in PowerShell
- How to run an EXE file in PowerShell with parameters with spaces and quotes
- How to run an EXE file in PowerShell with parameters with spaces and quotes
- Terminating a script in PowerShell
- Prompt for user input in PowerShell
- How to upgrade PowerShell version from 2.0 to 3.0
- How do I concatenate strings and variables in PowerShell?
- Array.Add vs +=
- PowerShell and the -contains operator
- PowerShell string interpolation syntax
- How to write to the console in PowerShell?
- Function return value in PowerShell
- PowerShell ‘Or’ Statement
- powershell -Or operator not working
- How to decode a Base64 string?
- Copy file remotely with PowerShell
- How to find the Windows version from the PowerShell command line
- Read file line by line in PowerShell
- Path to Powershell.exe (v 2.0)
- Azure Powershell Select-AzureSubscription with subscription id
- You cannot call a method on a null-valued expression
- How can I replace every occurrence of a String in a file with PowerShell?
- Unix tail equivalent command in Windows Powershell
- Create directory if it does not exist
- Copy-Item is overwriting by default
- The term ‘Get-ADUser’ is not recognized as the name of a cmdlet
- How to print environment variables to the console in PowerShell?
- The term ‘nmake’ is not recognized
- Ternary operator in PowerShell
- Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
- Call PowerShell script PS1 from another PS1 script inside Powershell ISE
- Does PowerShell has something like “echo off” and “echo on” trigger?
- Convert a string to datetime in PowerShell
- LDAP query in PowerShell
- PowerShell: Comparing dates
- Press any key to continue
- accessing the $args array in powershell
- Create a function with optional call variables
- How do I do ‘dir /s /b’ in PowerShell?
- Create Log File in Powershell
- What does the & symbol in powershell mean?
- What does the double asterisks mean?
- How to enter a multi-line command
- How to break lines in PowerShell?
- How to tell PowerShell to wait for each command to end before starting the next?
- How to convert string to integer in PowerShell
- Powershell: GetType used in PowerShell, difference between variables
- One Powershell Script calling another with parameters
- Concatenate files using PowerShell
- Passing multiple values to a single PowerShell script parameter
- Upload files with FTP using PowerShell
- Powershell send-mailmessage – email to multiple recipients
- Sometimes PowerShell stops sending output until I press enter. Why?
- In a PowerShell script, how can I check if I’m running with administrator privileges?
- What is the literal escape character in Powershell?
- PowerShell says “execution of scripts is disabled on this system.”
- PowerShell says “execution of scripts is disabled on this system.”
- How do I start PowerShell from Windows Explorer?
- How to run a PowerShell script
- How to run powershell script from .ps1 file?
- How do you comment out code in PowerShell?
- How to use operator ‘-replace’ in PowerShell to replace strings of texts with special characters and replace successfully
- Check if a file exists or not in Windows PowerShell?
- How to run a PowerShell script
- How do I pass multiple parameters into a function in PowerShell?
- How can I pass an argument to a PowerShell script?
- Powershell: A positional parameter cannot be found that accepts argument “xxx”
- Equivalent of *Nix ‘which’ command in PowerShell?
- What does the “@” symbol do in PowerShell?
- Upload file to SFTP using PowerShell
- How to assign multiple lines string in Powershell Console
- How to run PowerShell in CMD
- Running Python in PowerShell?
- How can I test that a variable is more than eight characters in PowerShell?
- How do I get the current username in Windows PowerShell?
- Difference between $? and $LastExitCode in PowerShell
- How do I force Robocopy to overwrite files?
- Simple PowerShell LastWriteTime compare
- Get file version in PowerShell
- How do I diff two text files in Windows Powershell?
- How to zip/unzip files in Powershell?