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";
    }