Sample code for 30+ languages & platforms
VBScript

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

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

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

set zip = CreateObject("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 = 0) Then
    outFile.WriteLine(zip.LastErrorText)
    WScript.Quit
End If

set sbFilename = CreateObject("Chilkat.StringBuilder")

set entry = CreateObject("Chilkat.ZipEntry")
numEntries = zip.NumEntries
i = 0
Do While i < numEntries
    success = zip.EntryAt(i,entry)

    entryFilePath = entry.FileName
    outFile.WriteLine(entryFilePath)

    If (entry.IsDirectory = 0) Then
        success = sbFilename.SetString(entryFilePath)
        If (sbFilename.Contains("/",0) = 0) Then
            ' Does not contain "/"
            ' Unzip to the qa_output directory.
            success = entry.Extract("qa_output")
            If (success = 0) Then
                outFile.WriteLine("Failed to unzip " & entryFilePath)
            Else
                outFile.WriteLine("Unzipped " & entryFilePath)
            End If

        End If

    End If

    i = i + 1
Loop

outFile.Close