DataFlex
DataFlex
SFTP Download all Files in a Directory
See more SFTP Examples
Demonstrates how to download all files in a remote directory. This example uses the SyncTreeDownload method in a non-recursive mode that forces the download of all files, regardless of date/time or size differences.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSftp
String sRemoteDir
String sLocalDir
Integer iMode
Boolean iRecursive
String sTemp1
Move False To iSuccess
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatSFtp)) To hoSftp
If (Not(IsComObjectCreated(hoSftp))) Begin
Send CreateComObject of hoSftp
End
Get ComConnect Of hoSftp "my-ssh-server.com" 22 To iSuccess
If (iSuccess = True) Begin
Get ComAuthenticatePw Of hoSftp "mySshLogin" "mySshPassword" To iSuccess
End
If (iSuccess = True) Begin
Get ComInitializeSftp Of hoSftp To iSuccess
End
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
// Download all the files from the remote directory "syncDownloadTest/xml"
// into our local directory "qa_output"
// Both directories are relative paths. The remote directory
// is relative to the HOME directory of the SSH user account.
// The local directory is relative to the current working directory of the process.
// It is also possible to use absolute paths.
Move "syncDownloadTest/xml" To sRemoteDir
Move "qa_output" To sLocalDir
// Mode 0 causes SyncTreeDownload to download all files.
Move 0 To iMode
// Do not recursively descend the remote directory tree. Just download all the files in specified directory.
Move False To iRecursive
Get ComSyncTreeDownload Of hoSftp sRemoteDir sLocalDir iMode iRecursive To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Success."
End_Procedure