Sample code for 30+ languages & platforms
Ruby

FTP Iterate over Files in Directory Matching ListPattern

See more RSA Examples

Uses the ListPattern property to iterate over the files in a directory matching the pattern.

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.

ftp = Chilkat::CkFtp2.new()

ftp.put_Hostname("ftp.example.com")
ftp.put_Username("my_login")
ftp.put_Password("my_password")
ftp.put_Port(21)
ftp.put_AuthTls(true)

success = ftp.Connect()
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Change to the "images" sub-directory located under our FTP account's home directory.
success = ftp.ChangeRemoteDir("images")
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

ftp.put_ListPattern("*.png")

# Fetch the current remote directory contents by calling GetDirCount
n = ftp.GetDirCount()
if (n < 0)
    print ftp.lastErrorText() + "\n";
    exit
end

i = 0

sbLocalPath = Chilkat::CkStringBuilder.new()

while i < n
    filename = ftp.getFilename(i)
    print filename + "\n";

    # Download this file.
    sbLocalPath.SetString("qa_output/")
    sbLocalPath.Append(filename)
    success = ftp.GetFile(filename,sbLocalPath.getAsString())
    if (success != true)
        print ftp.lastErrorText() + "\n";
        exit
    end

    i = i + 1
end