(PowerShell) Unzip Selected Files from a Zip Archive
Demonstrates how to iterate over the files contained within a .zip and unzip specific files.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll"
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$zip = New-Object Chilkat.Zip
$success = $zip.OpenZip("my_files.zip")
if ($success -ne $true) {
$($zip.LastErrorText)
exit
}
$unzipDir = "/temp/unzipDir"
# Get the number of files and directories in the .zip
$n = $zip.NumEntries
$($n)
for ($i = 0; $i -le $n - 1; $i++) {
$entry = $zip.GetEntryByIndex($i)
if ($entry.IsDirectory -eq $false) {
# (the filename may include a path)
$($entry.FileName)
# Your application may choose to unzip this entry
# based on the filename.
# If the entry should be unzipped, then call Extract(unzipDir)
$success = $entry.Extract($unzipDir)
if ($success -ne $true) {
$($entry.LastErrorText)
exit
}
}
}
|