Sample code for 30+ languages & platforms
Tcl

Delete FTP Directory Tree

See more FTP Examples

Delete an entire directory tree on an FTP server.

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.yourftpserver.com"
CkFtp2_put_Username $ftp "****"
CkFtp2_put_Password $ftp "****"

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

# Set the current remote directory to the root of
# the tree to be deleted
set success [CkFtp2_ChangeRemoteDir $ftp "/something"]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# Delete the entire tree.  All sub-directories and files are deleted.
set success [CkFtp2_DeleteTree $ftp]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

# The /something directory still exists.  To delete it,
# we move up one directory level and then delete it.
set success [CkFtp2_ChangeRemoteDir $ftp ".."]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

set success [CkFtp2_RemoveRemoteDir $ftp "something"]
if {$success != 1} then {
    puts [CkFtp2_lastErrorText $ftp]
    delete_CkFtp2 $ftp
    exit
}

set success [CkFtp2_Disconnect $ftp]

delete_CkFtp2 $ftp