Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oZip = ObjCreate("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
$bSuccess = $oZip.OpenZip("qa_data/zips/xml_files.zip")
If ($bSuccess = False) Then
    ConsoleWrite($oZip.LastErrorText & @CRLF)
    Exit
EndIf

$oSbFilename = ObjCreate("Chilkat.StringBuilder")

$oEntry = ObjCreate("Chilkat.ZipEntry")
Local $iNumEntries = $oZip.NumEntries
Local $i = 0
While $i < $iNumEntries
    $oZip.EntryAt($i,$oEntry)

Local $sEntryFilePath = $oEntry.FileName
    ConsoleWrite($sEntryFilePath & @CRLF)

    If ($oEntry.IsDirectory = False) Then
        $oSbFilename.SetString($sEntryFilePath)
        If ($oSbFilename.Contains("/",False) = False) Then
            ; Does not contain "/"
            ; Unzip to the qa_output directory.
            $bSuccess = $oEntry.Extract("qa_output")
            If ($bSuccess = False) Then
                ConsoleWrite("Failed to unzip " & $sEntryFilePath & @CRLF)
            Else
                ConsoleWrite("Unzipped " & $sEntryFilePath & @CRLF)
            EndIf

        EndIf

    EndIf

    $i = $i + 1
Wend