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
(AutoIt) SCP Sync Tree UploadSynchronize local and remote directory trees by uploading newer or missing files to the remote server.
; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oSsh = ObjCreate("Chilkat.Ssh") ; Hostname may be an IP address or hostname: Local $sHostname = "www.some-ssh-server.com" Local $iPort = 22 ; Connect to an SSH server: Local $bSuccess = $oSsh.Connect($sHostname,$iPort) If ($bSuccess <> True) Then ConsoleWrite($oSsh.LastErrorText & @CRLF) Exit EndIf ; Wait a max of 5 seconds when reading responses.. $oSsh.IdleTimeoutMs = 5000 ; Authenticate using login/password: $bSuccess = $oSsh.AuthenticatePw("myLogin","myPassword") If ($bSuccess <> True) Then ConsoleWrite($oSsh.LastErrorText & @CRLF) Exit EndIf ; Once the SSH object is connected and authenticated, we use it ; in our SCP object. $oScp = ObjCreate("Chilkat.Scp") $bSuccess = $oScp.UseSsh($oSsh) If ($bSuccess <> True) Then ConsoleWrite($oScp.LastErrorText & @CRLF) Exit EndIf ; The remoteRoot is relative to the HOME directory of the SSH user account. Local $sRemoteRoot = "workspace/projectB" Local $sLocalRoot = "c:/aaworkarea/scp/workspace/projectB" ; Upload synchronization modes: ; mode=0: Upload all files ; mode=1: Upload all files that do not exist on the FTP server. ; mode=2: Upload newer or non-existant files. ; mode=3: Upload only newer files. If a file does not already exist on the FTP server, it is not uploaded. ; mode=4: transfer missing files or files with size differences. ; mode=5: same as mode 4, but also newer files. ; Additional files and directores can be excluded by setting the SyncMustNotMatch property. ; The SyncMustNotMatch patterns apply only to the final filename or directory part of a path. ; If a directory matches, then it will not be traversed in a recursive traversal. ; $oScp.SyncMustNotMatch = "*.o;*.obj;*.log; temp" ; The SyncMustMatch property can be set to restrict the files uploaded to only those ; matching at least one pattern in a set. $oScp.SyncMustMatch = "*.cpp; *.h" ; Do the recursive sync to upload newer or non-existant files: Local $bRecurse = True Local $iMode = 2 $bSuccess = $oScp.SyncTreeUpload($sLocalRoot,$sRemoteRoot,$iMode,$bRecurse) If ($bSuccess <> True) Then ConsoleWrite($oScp.LastErrorText & @CRLF) Exit EndIf ; The files actually uploaded can be examined in the SyncedFiles property. ; It is a string property that contains the relative path, one per line, of each ; file uploaded. ConsoleWrite("Files uploaded: " & @CRLF) ConsoleWrite($oScp.SyncedFiles & @CRLF) ConsoleWrite("----" & @CRLF) ConsoleWrite("SCP sync upload success." & @CRLF) ; Disconnect $oSsh.Disconnect |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.