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
(Visual FoxPro) SFTP Read Directory ListingDemonstrates how to download a directory listing and iterate over the files.
LOCAL loSftp LOCAL lcHostname LOCAL lnPort LOCAL lnSuccess LOCAL lcHandle LOCAL loDirListing LOCAL i LOCAL n LOCAL loFileObj * This requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * Important: It is helpful to send the contents of the * sftp.LastErrorText property when requesting support. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.SFtp') loSftp = CreateObject('Chilkat.SFtp') * Set some timeouts, in milliseconds: loSftp.ConnectTimeoutMs = 5000 loSftp.IdleTimeoutMs = 10000 * Connect to the SSH server. * The standard SSH port = 22 * The hostname may be a hostname or IP address. lcHostname = "www.my-sftp-server.com" lnPort = 22 lnSuccess = loSftp.Connect(lcHostname,lnPort) IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Authenticate with the SSH server. Chilkat SFTP supports * both password-based authenication as well as public-key * authentication. This example uses password authenication. lnSuccess = loSftp.AuthenticatePw("myLogin","myPassword") IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * After authenticating, the SFTP subsystem must be initialized: lnSuccess = loSftp.InitializeSftp() IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Open a directory on the server... * Paths starting with a slash are "absolute", and are relative * to the root of the file system. Names starting with any other * character are relative to the user's default directory (home directory). * A path component of ".." refers to the parent directory, * and "." refers to the current directory. lcHandle = loSftp.OpenDir(".") IF (loSftp.LastMethodSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Download the directory listing: loDirListing = loSftp.ReadDir(lcHandle) IF (loSftp.LastMethodSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Close the handle for the directory listing. lnSuccess = loSftp.CloseHandle(lcHandle) IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Iterate over the files. i = 0 n = loDirListing.NumFilesAndDirs DO WHILE i < n loFileObj = loDirListing.GetFileObject(i) ? loFileObj.Filename ? loFileObj.FileType ? "Size in bytes: " + STR(loFileObj.Size32) ? "----" RELEASE loFileObj i = i + 1 ENDDO RELEASE loDirListing ? "Success." RELEASE loSftp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.