PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkSFtp.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
sftp.i = CkSFtp::ckCreate()
If sftp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkSFtp::ckConnect(sftp,"my-ssh-server.com",22)
If success = 1
success = CkSFtp::ckAuthenticatePw(sftp,"mySshLogin","mySshPassword")
EndIf
If success = 1
success = CkSFtp::ckInitializeSftp(sftp)
EndIf
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
; 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
CkSFtp::setCkSyncMustMatch(sftp, "*.eml; *.gif")
remoteDir.s = "syncDownloadTest/someDir"
localDir.s = "qa_output"
; mode=0: Download all matching files according to SyncMustMatch
mode.i = 0
; do not recursively traverse the remote directory tree.
recursive.i = 0
success = CkSFtp::ckSyncTreeDownload(sftp,remoteDir,localDir,mode,recursive)
If success <> 1
Debug CkSFtp::ckLastErrorText(sftp)
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndIf
Debug "Success."
CkSFtp::ckDispose(sftp)
ProcedureReturn
EndProcedure