Sample code for 30+ languages & platforms
PureBasic

SFTP Rename File or Directory

See more SFTP Examples

Demonstrates how to rename a file or directory on the remote SFTP server.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkSFtp.pb"

Procedure ChilkatExample()

    success.i = 0

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

    sftp.i = CkSFtp::ckCreate()
    If sftp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Set some timeouts, in milliseconds:
    CkSFtp::setCkConnectTimeoutMs(sftp, 5000)
    CkSFtp::setCkIdleTimeoutMs(sftp, 10000)

    ; Connect to the SSH server.  
    ; The standard SSH port = 22
    ; The hostname may be a hostname or IP address.
    hostname.s = "sftp.example.com"
    port.i = 22
    success = CkSFtp::ckConnect(sftp,hostname,port)
    If success <> 1
        Debug CkSFtp::ckLastErrorText(sftp)
        CkSFtp::ckDispose(sftp)
        ProcedureReturn
    EndIf

    ; Authenticate with the SSH server.  Chilkat SFTP supports
    ; both password-based authenication as well as public-key
    ; authentication.  This example uses password authenication.
    success = CkSFtp::ckAuthenticatePw(sftp,"myLogin","myPassword")
    If success <> 1
        Debug CkSFtp::ckLastErrorText(sftp)
        CkSFtp::ckDispose(sftp)
        ProcedureReturn
    EndIf

    ; After authenticating, the SFTP subsystem must be initialized:
    success = CkSFtp::ckInitializeSftp(sftp)
    If success <> 1
        Debug CkSFtp::ckLastErrorText(sftp)
        CkSFtp::ckDispose(sftp)
        ProcedureReturn
    EndIf

    ; Rename the file or directory:
    success = CkSFtp::ckRenameFileOrDir(sftp,"oldFilename.txt","newFilename.txt")
    If success <> 1
        Debug CkSFtp::ckLastErrorText(sftp)
        CkSFtp::ckDispose(sftp)
        ProcedureReturn
    EndIf

    Debug "Success."


    CkSFtp::ckDispose(sftp)


    ProcedureReturn
EndProcedure