Sample code for 30+ languages & platforms
Ruby Requires Chilkat v11.0.0+

Unzip Selected Files from a Zip Archive

See more Zip Examples

Demonstrates how to iterate over the files contained within a .zip and unzip specific files.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

zip = Chilkat::CkZip.new()

success = zip.OpenZip("my_files.zip")
if (success == false)
    print zip.lastErrorText() + "\n";
    exit
end

unzipDir = "/temp/unzipDir"

#  Get the number of files and directories in the .zip
n = zip.get_NumEntries()

entry = Chilkat::CkZipEntry.new()

i = 0
while i < n

    zip.EntryAt(i,entry)
    if (entry.get_IsDirectory() == false)
        #  (the filename may include a path)
        print entry.fileName() + "\n";

        #  Your application may choose to unzip this entry
        #  based on the filename.
        #  If the entry should be unzipped, then call Extract(unzipDir)
        success = entry.Extract(unzipDir)
        if (success == false)
            print entry.lastErrorText() + "\n";
            exit
        end

    end

    i = i + 1
end