Sample code for 30+ languages & platforms
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

DataFlex
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