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

AutoIt
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