AutoIt
AutoIt
Setting Environment Variables for SCP Transfers
See more SCP Examples
Demonstrates how to set remote environment variables for an SCP transfer.Note 1: This example requires Chilkat v9.5.0.79 or greater.
Note 2: Setting environment variables for SCP is only supported by some SSH servers.
Chilkat AutoIt Downloads
Local $bSuccess = False
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oSsh = ObjCreate("Chilkat.Ssh")
; First connect to an SSH server.
$bSuccess = $oSsh.Connect("example.com",22)
If ($bSuccess <> True) Then
ConsoleWrite($oSsh.LastErrorText & @CRLF)
Exit
EndIf
; Wait a max of 5 seconds when reading responses..
$oSsh.IdleTimeoutMs = 5000
; Authenticate..
$bSuccess = $oSsh.AuthenticatePw("myLogin","myPassword")
If ($bSuccess <> True) Then
ConsoleWrite($oSsh.LastErrorText & @CRLF)
Exit
EndIf
; After the SSH object is connected and authenticated, we use it
; as the underlying transport in our SCP object.
$oScp = ObjCreate("Chilkat.Scp")
$bSuccess = $oScp.UseSsh($oSsh)
If ($bSuccess <> True) Then
ConsoleWrite($oScp.LastErrorText & @CRLF)
Exit
EndIf
; Specify the environment variables to be set in JSON as follows.
; This example sets two environment variables. One is named "LCS_PASSWORD" and the other "MY_TEST_NAME".
$oJsonEnvVars = ObjCreate("Chilkat.JsonObject")
$oJsonEnvVars.EmitCompact = False
$oJsonEnvVars.UpdateString("LCS_PASSWORD","secret")
$oJsonEnvVars.UpdateString("MY_TEST_NAME","abc")
Local $strEnvVars = $oJsonEnvVars.Emit()
ConsoleWrite($strEnvVars & @CRLF)
; Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server
; prior to doing the upload or download.
$oScp.SendEnv = $strEnvVars
; Do the upload..
Local $sRemotePath = "starfish.jpg"
Local $sLocalPath = "qa_data/jpg/starfish.jpg"
$bSuccess = $oScp.UploadFile($sLocalPath,$sRemotePath)
If ($bSuccess <> True) Then
ConsoleWrite($oScp.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("SCP upload file success." & @CRLF)
; Disconnect
$oSsh.Disconnect