Perl
Perl
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 Perl Downloads
use chilkat();
$success = 0;
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$sftp = chilkat::CkSFtp->new();
$success = $sftp->Connect("my-ssh-server.com",22);
if ($success == 1) {
$success = $sftp->AuthenticatePw("mySshLogin","mySshPassword");
}
if ($success == 1) {
$success = $sftp->InitializeSftp();
}
if ($success != 1) {
print $sftp->lastErrorText() . "\r\n";
exit;
}
# 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");
$remoteDir = "syncDownloadTest/someDir";
$localDir = "qa_output";
# mode=0: Download all matching files according to SyncMustMatch
$mode = 0;
# do not recursively traverse the remote directory tree.
$recursive = 0;
$success = $sftp->SyncTreeDownload($remoteDir,$localDir,$mode,$recursive);
if ($success != 1) {
print $sftp->lastErrorText() . "\r\n";
exit;
}
print "Success." . "\r\n";