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

Unicode C++
#include <CkSFtpW.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.

    CkSFtpW sftp;

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

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

    if (success != true) {
        wprintf(L"%s\n",sftp.lastErrorText());
        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(L"*.eml; *.gif");

    const wchar_t *remoteDir = L"syncDownloadTest/someDir";
    const wchar_t *localDir = L"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) {
        wprintf(L"%s\n",sftp.lastErrorText());
        return;
    }

    wprintf(L"Success.\n");
    }