![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) SFTP Read Directory ListingDemonstrates how to download a directory listing and iterate over the files. Note: This example requires Chilkat v11.0.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoSftp String sHostname Integer iPort String sHandle Variant vDirListing Handle hoDirListing Variant vFileObj Handle hoFileObj Integer i Integer n String sTemp1 Integer iTemp1 Boolean bTemp1 Move False To iSuccess // 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. Get Create (RefClass(cComChilkatSFtp)) To hoSftp If (Not(IsComObjectCreated(hoSftp))) Begin Send CreateComObject of hoSftp End // Set some timeouts, in milliseconds: Set ComConnectTimeoutMs Of hoSftp To 5000 Set ComIdleTimeoutMs Of hoSftp To 10000 // Connect to the SSH server. // The standard SSH port = 22 // The hostname may be a hostname or IP address. Move "www.my-sftp-server.com" To sHostname Move 22 To iPort Get ComConnect Of hoSftp sHostname iPort To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Authenticate with the SSH server. Chilkat SFTP supports // both password-based authenication as well as public-key // authentication. This example uses password authenication. Get ComAuthenticatePw Of hoSftp "myLogin" "myPassword" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // After authenticating, the SFTP subsystem must be initialized: Get ComInitializeSftp Of hoSftp To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // 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. Get ComOpenDir Of hoSftp "." To sHandle Get ComLastMethodSuccess Of hoSftp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Download the directory listing: Get Create (RefClass(cComChilkatSFtpDir)) To hoDirListing If (Not(IsComObjectCreated(hoDirListing))) Begin Send CreateComObject of hoDirListing End Get pvComObject of hoDirListing to vDirListing Get ComReadDirListing Of hoSftp sHandle vDirListing To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Close the handle for the directory listing. Get ComCloseHandle Of hoSftp sHandle To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Iterate over the files. Get Create (RefClass(cComChilkatSFtpFile)) To hoFileObj If (Not(IsComObjectCreated(hoFileObj))) Begin Send CreateComObject of hoFileObj End Move 0 To i Get ComNumFilesAndDirs Of hoDirListing To n While (i < n) Get pvComObject of hoFileObj to vFileObj Get ComFileAt Of hoDirListing i vFileObj To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoDirListing To sTemp1 Showln sTemp1 Procedure_Return End Get ComFilename Of hoFileObj To sTemp1 Showln sTemp1 Get ComFileType Of hoFileObj To sTemp1 Showln sTemp1 Get ComSize32 Of hoFileObj To iTemp1 Showln "Size in bytes: " iTemp1 Showln "----" Move (i + 1) To i Loop Showln "Success." End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.