DataFlex
DataFlex
SFTP Download Files Matching a Pattern
See more SFTP Examples
Demonstrates how to download files in a directory matching one or more patterns (such as "*.zip" or "abc*_*0719.csv".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 requires 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
// The SyncTreeDownload method can be used non-recursively to download all files matching a set of patterns.
// This example will download all files, but only those files having filenames
// that match *.csv and *.eml
Set ComSyncMustMatch Of hoSftp To "*.eml; *.gif"
Move "syncDownloadTest/someDir" To sRemoteDir
Move "qa_output" To sLocalDir
// mode=0: Download all matching files according to SyncMustMatch
Move 0 To iMode
// do not recursively traverse the remote directory tree.
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