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