Tcl
Tcl
Create a Remote FTP Directory (MKD)
See more FTP Examples
Demonstrates the Chilkat Ftp2.CreateRemoteDir method, which creates a remote directory by sending one MKD command. The only argument is the remote directory path.
Background: Because it sends a single
MKD, creating a multi-level path such as a/b/c in one call only works if the server accepts it and the parents exist — otherwise create each level in turn. The path is relative to the current directory unless the server treats it as absolute. Attempting to create a directory that already exists is generally an error, so guard against it when re-running a job.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# Demonstrates the Ftp2.CreateRemoteDir method, which creates a remote directory by sending one
# MKD command. The only argument is the remote directory path.
set ftp [new_CkFtp2]
CkFtp2_put_Hostname $ftp "ftp.example.com"
CkFtp2_put_Username $ftp "myFtpLogin"
# Normally you would not hard-code the password in source. You should instead obtain it
# from an interactive prompt, environment variable, or a secrets vault.
CkFtp2_put_Password $ftp "myPassword"
set success [CkFtp2_Connect $ftp]
if {$success == 0} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
exit
}
set success [CkFtp2_ChangeRemoteDir $ftp "public_html"]
if {$success == 0} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
exit
}
# The path is relative to the current remote directory unless the server treats it as absolute.
# A single MKD does not necessarily create intermediate parent directories.
set success [CkFtp2_CreateRemoteDir $ftp "uploads/2026"]
if {$success == 0} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
exit
}
puts "Directory created."
set success [CkFtp2_Disconnect $ftp]
if {$success == 0} then {
puts [CkFtp2_lastErrorText $ftp]
delete_CkFtp2 $ftp
exit
}
delete_CkFtp2 $ftp