Sample code for 30+ languages & platforms
PowerShell

Unzip Some Files by Iterating over Entries

See more Zip Examples

Demonstrates how to unzip specific files by iterating over entries in a .zip.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$zip = New-Object Chilkat.Zip

# Open a .zip containing:
# 
# a1.xml
# b1.xml
# c1.xml
# dir1/a2.xml
# dir1/c2.xml
# dir2/dir3/c3.xml

# We wish to unzip only a1.xml, b1.xml, and c1.xml
$success = $zip.OpenZip("qa_data/zips/xml_files.zip")
if ($success -eq $false) {
    $($zip.LastErrorText)
    exit
}

$sbFilename = New-Object Chilkat.StringBuilder

$entry = New-Object Chilkat.ZipEntry
$numEntries = $zip.NumEntries
$i = 0
while ($i -lt $numEntries) {
    $zip.EntryAt($i,$entry)

    $entryFilePath = $entry.FileName
    $($entryFilePath)

    if ($entry.IsDirectory -eq $false) {
        $sbFilename.SetString($entryFilePath)
        if ($sbFilename.Contains("/",$false) -eq $false) {
            # Does not contain "/"
            # Unzip to the qa_output directory.
            $success = $entry.Extract("qa_output")
            if ($success -eq $false) {
                $("Failed to unzip " + $entryFilePath)
            }
            else {
                $("Unzipped " + $entryFilePath)
            }

        }

    }

    $i = $i + 1
}