Sample code for 30+ languages & platforms
Visual FoxPro

Create a Symbolic Link on an SFTP Server

See more SFTP Examples

Demonstrates the Chilkat SFtp.SymLink method, which creates a symbolic link on the server. The first argument is the link target and the second is the new symbolic-link path.

Background: A symbolic link stores a path that points at another location, so it can span directories or filesystems and can even point at something that does not exist. A common use is a stable name like latest.log that is repointed at each day's file. Argument order is a frequent source of confusion — the target comes first, the new link path second — and note that how the target string is interpreted (relative to what) is up to the server's implementation.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSftp
LOCAL lnPort
LOCAL lcPassword

lnSuccess = 0

*  Demonstrates the SFtp.SymLink method, which creates a symbolic link on the server.  The 1st
*  argument is the link target and the 2nd is the new symbolic-link path.

loSftp = CreateObject('Chilkat.SFtp')

*  Connect, authenticate, and initialize the SFTP subsystem.
lnPort = 22
lnSuccess = loSftp.Connect("sftp.example.com",lnPort)
IF (lnSuccess = 0) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

*  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.
lcPassword = "mySshPassword"

lnSuccess = loSftp.AuthenticatePw("mySshLogin",lcPassword)
IF (lnSuccess = 0) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

lnSuccess = loSftp.InitializeSftp()
IF (lnSuccess = 0) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

*  Create a symbolic link "subdir/latest.log" that points at "subdir/2026-07-23.log".  The
*  server's SFTP implementation determines how the target path is interpreted.
lnSuccess = loSftp.SymLink("subdir/2026-07-23.log","subdir/latest.log")
IF (lnSuccess = 0) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

? "Symbolic link created."

loSftp.Disconnect()

RELEASE loSftp