Sample code for 30+ languages & platforms
Ruby

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