Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Ruby) FTP Non-Recursive Sync Directory (Download)See more FTP ExamplesDownload files from the server that have filenames matchhing a pattern, and don't yet exist in a local directory.
require 'chilkat' # 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("myUsername") ftp.put_Password("myPassword") ftp.put_Port(21) ftp.put_AuthTls(true) # Connect and login to the FTP server. success = ftp.Connect() if (success != true) print ftp.lastErrorText() + "\n"; exit end # Change to the remote directory where the files are located. # This step is only necessary if the files are not in the root directory # of the FTP account. success = ftp.ChangeRemoteDir("qa") if (success != true) print ftp.lastErrorText() + "\n"; exit end # Indicate that we only want to download files with filenames ending in ".txt" ftp.put_SyncMustMatch("*.txt") # Modes for synchronization are as follows: # mode=0: Download all files # mode=1: Download all files that do not exist on the local filesystem. # mode=2: Download newer or non-existant files. # mode=3: Download only newer files. If a file does not already exist on the local filesystem, it is not downloaded from the server. # mode=5: Download only missing files or files with size differences. # mode=6: Same as mode 5, but also download newer files. # mode=99: Do not download files, but instead delete remote files that do not exist locally. mode = 1 # Download all files matching "*.txt" from the current remote ftp directory. # The files are downloaded into c:/temp/qa_output success = ftp.SyncLocalDir("c:/temp/qa_output",mode) if (success != true) print ftp.lastErrorText() + "\n"; exit end # We can see what files were downloaded in the SyncedFiles property, # which lists the files one per line. print ftp.syncedFiles() + "\n"; # Perhaps we wish to delete the files we just downloaded from the server.. sb = Chilkat::CkStringBuilder.new() sb.Append(ftp.syncedFiles()) st = Chilkat::CkStringTable.new() st.AppendFromSb(sb) numFiles = st.get_Count() i = 0 while i < numFiles remoteFilename = st.stringAt(i) print "Deleting " + remoteFilename + " from the FTP server" + "\n"; success = ftp.DeleteRemoteFile(remoteFilename) if (success != true) print ftp.lastErrorText() + "\n"; exit end i = i + 1 end success = ftp.Disconnect() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.