Sample code for 30+ languages & platforms
Xojo Plugin

Rename or Move a Remote FTP File

See more FTP Examples

Demonstrates the Chilkat Ftp2.RenameRemoteFile method, which renames or moves a remote file or directory using the FTP RNFR/RNTO sequence. The first argument is the existing path and the second is the new path.

Background: Rename and move are the same RNFR/RNTO operation: changing only the final path component renames in place, while including directory components in the new path relocates the item within the same server. It is a metadata operation, so even a large file moves instantly — but both paths must be on the same server, and moving onto an existing target may fail depending on the server.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

//  Demonstrates the Ftp2.RenameRemoteFile method, which renames or moves a remote file or
//  directory using the FTP RNFR/RNTO sequence.  The 1st argument is the existing path and the 2nd
//  is the new path.

Dim ftp As New Chilkat.Ftp2

ftp.Hostname = "ftp.example.com"
ftp.Username = "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.
ftp.Password = "myPassword"

success = ftp.Connect()
If (success = False) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

success = ftp.ChangeRemoteDir("public_html")
If (success = False) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

//  Rename a file in place.
success = ftp.RenameRemoteFile("report.pdf","report_final.pdf")
If (success = False) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

//  Include directory components in the new path to move the item within the same server.
success = ftp.RenameRemoteFile("report_final.pdf","archive/report_final.pdf")
If (success = False) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If

System.DebugLog("Renamed and moved.")

success = ftp.Disconnect()
If (success = False) Then
    System.DebugLog(ftp.LastErrorText)
    Return
End If