Sample code for 30+ languages & platforms
C++

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 C++ Downloads

C++
#include <CkSFtp.h>

void ChilkatSample(void)
    {
    bool success = false;

    //  This example requires the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    CkSFtp sftp;

    success = sftp.Connect("my-ssh-server.com",22);
    if (success == true) {
        success = sftp.AuthenticatePw("mySshLogin","mySshPassword");
    }

    if (success == true) {
        success = sftp.InitializeSftp();
    }

    if (success != true) {
        std::cout << sftp.lastErrorText() << "\r\n";
        return;
    }

    //  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
    sftp.put_SyncMustMatch("*.eml; *.gif");

    const char *remoteDir = "syncDownloadTest/someDir";
    const char *localDir = "qa_output";

    //  mode=0: Download all matching files according to SyncMustMatch
    int mode = 0;

    //  do not recursively traverse the remote directory tree.
    bool recursive = false;

    success = sftp.SyncTreeDownload(remoteDir,localDir,mode,recursive);
    if (success != true) {
        std::cout << sftp.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "Success." << "\r\n";
    }