Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

Download and Delete Matching Files

Ruby example showing how to FTP download files matching a wildcarded file pattern and delete them from the FTP server.

Download Chilkat Ruby Library

require 'chilkat'

ftp = Chilkat::CkFtp2.new()

#  Any string unlocks the component for the 1st 30-days.
success = ftp.UnlockComponent("Anything for 30-day trial")
if (success != true)
    print ftp.lastErrorText() + "\n"
    exit
end

ftp.put_Hostname("www.example-code.com")
ftp.put_Username("****")
ftp.put_Password("****")

#  Connect and login to the FTP server.
success = ftp.Connect()
if (success != true)
    print ftp.lastErrorText() + "\n"
    exit
end

#  Note: It may be tempting to call MGetFiles(pattern,localDir)
#  followed by a call to DeleteMatching(pattern), however,
#  if new files are uploaded to the FTP server while MGetFiles
#  is running, those files will be deleted by DeleteMatching.

#  Instead, it's best to set the ListPattern and then iterate
#  over each file...

#  Set the ListPattern = "*.xml" to match all XML files.
ftp.put_ListPattern("*.xml")

#  NumFilesAndDirs contains the number of files and sub-directories
#  matching the ListPattern in the current remote directory.
#  The first time it is accessed after changing ListPattern,
#  or after calling ChangeRemoteDir, a snapshot of the directory
#  listing is fetched and saved in memory. During this loop,
#  the value of NumFilesAndDirs will not change.

n = ftp.get_NumFilesAndDirs()
if (n < 0)
    print ftp.lastErrorText() + "\n"
    exit
end

if (n > 0)
    for i in 0 .. n - 1

        fname = ftp.getFilename(i)
        print fname + "\n";

        #  Download the file into the current working directory.
        success = ftp.GetFile(fname,fname)
        if (success != true)
            print ftp.lastErrorText() + "\n"
            exit
        end

        #  Now delete the file.
        success = ftp.DeleteRemoteFile(fname)
        if (success != true)
            print ftp.lastErrorText() + "\n"
            exit
        end

    end
end

ftp.Disconnect()
 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.