Sample code for 30+ languages & platforms
Tcl

Quote and SendCommand

See more FTP Examples

Demonstrate the Quote and SendCommand methods.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set ftp [new_CkFtp2]

CkFtp2_put_Hostname $ftp "ftp.example.com"
CkFtp2_put_Username $ftp "login"
CkFtp2_put_Password $ftp "password"

# Connect and login to the FTP server.
set success [CkFtp2_Connect $ftp]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Tell the FTP object to keep an in-memory session log
# so we can see the commands sent to the server,
# and the responses received back.
CkFtp2_put_KeepSessionLog $ftp 1

# Change the current remote directory via the Quote method:
set success [CkFtp2_Quote $ftp "CWD junk"]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Move back up 
# In this case, ChangeRemoteDir sends "CWD .." to the FTP server.
set success [CkFtp2_ChangeRemoteDir $ftp ".."]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Do the same via the SendCommand method where the
# raw FTP server response is returned:
set serverResponse [CkFtp2_sendCommand $ftp "CWD junk"]
if {[CkFtp2_get_LastMethodSuccess $ftp] != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
} else {
    puts "$serverResponse"
}

set success [CkFtp2_Disconnect $ftp]

puts "Session Log:"
puts [CkFtp2_sessionLog $ftp]

delete_CkFtp2 $ftp