Sample code for 30+ languages & platforms
Classic ASP

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 Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

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

set zip = Server.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
    Response.Write "<pre>" & Server.HTMLEncode( zip.LastErrorText) & "</pre>"
    Response.End
End If

set sbFilename = Server.CreateObject("Chilkat.StringBuilder")

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

    entryFilePath = entry.FileName
    Response.Write "<pre>" & Server.HTMLEncode( entryFilePath) & "</pre>"

    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
                Response.Write "<pre>" & Server.HTMLEncode( "Failed to unzip " & entryFilePath) & "</pre>"
            Else
                Response.Write "<pre>" & Server.HTMLEncode( "Unzipped " & entryFilePath) & "</pre>"
            End If

        End If

    End If

    i = i + 1
Loop

%>
</body>
</html>