Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) SCP Download Files Matching a Pattern, such as *.txtDemonstrates how to SCP download files matching a pattern, such as *.txt.
IncludeFile "CkSsh.pb" IncludeFile "CkScp.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ssh.i = CkSsh::ckCreate() If ssh.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Connect to an SSH server: hostname.s = "MY-SSH-SERVER-DOMAIN-OR-IP" port.i = 22 success.i = CkSsh::ckConnect(ssh,hostname,port) If success <> 1 Debug CkSsh::ckLastErrorText(ssh) CkSsh::ckDispose(ssh) ProcedureReturn EndIf ; Wait a max of 5 seconds when reading responses.. CkSsh::setCkIdleTimeoutMs(ssh, 5000) ; Authenticate using login/password: success = CkSsh::ckAuthenticatePw(ssh,"MY-SSH-LOGIN","MY-SSH-PASSWORD") If success <> 1 Debug CkSsh::ckLastErrorText(ssh) CkSsh::ckDispose(ssh) ProcedureReturn EndIf ; Once the SSH object is connected and authenticated, use it ; in the SCP object. scp.i = CkScp::ckCreate() If scp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkScp::ckUseSsh(scp,ssh) If success <> 1 Debug CkScp::ckLastErrorText(scp) CkSsh::ckDispose(ssh) CkScp::ckDispose(scp) ProcedureReturn EndIf CkScp::setCkHeartbeatMs(scp, 200) ; Set the SyncMustMatch property to "*.pem" to download only .pem files CkScp::setCkSyncMustMatch(scp, "*.pem") remoteDir.s = "qa_syncA" localDir.s = "c:/aaworkarea/scp/qa_syncA" ; Download synchronization modes: ; mode=0: Download all files ; mode=1: Download all files that do not exist on the local filesystem. ; mode=2: Download newer or non-existant files. ; mode=3: Download only newer files. ; If a file does not already exist on the local filesystem, it is not downloaded from the server. ; mode=5: Download only missing files or files with size differences. ; mode=6: Same as mode 5, but also download newer files. mode.i = 0 ; Do not recurse the remote directory tree. Only download files matching *.pem ; from the given remote directory. bRecurse.i = 0 success = CkScp::ckSyncTreeDownload(scp,remoteDir,localDir,mode,bRecurse) If success <> 1 Debug CkScp::ckLastErrorText(scp) CkSsh::ckDispose(ssh) CkScp::ckDispose(scp) ProcedureReturn EndIf Debug "SCP download matching success." ; Disconnect CkSsh::ckDisconnect(ssh) CkSsh::ckDispose(ssh) CkScp::ckDispose(scp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.