Sample code for 30+ languages & platforms
Delphi DLL

Create Symbolic Link

See more FileAccess Examples

Demonstrates how to create a symbolic (soft) link.

Note: This example requires Chilkat v9.5.0.77 or greater.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, FileAccess;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
fac: HCkFileAccess;
target: PWideChar;
symlink: PWideChar;

begin
success := False;

// Chilkat supports symbolic links on both Windows and non-Windows operating systems.
// Note: On Windows, symbolic links and Windows shortcuts are two different things.
// On the Windows operating system, a process requires a special privilege to create
// a symbolic link (unless running as administrator).  

fac := CkFileAccess_Create();

// Here we create a symbolic link to point to qa_data/hamlet.xml
// 
target := 'qa_data/hamlet.xml';
symlink := 'qa_output/symlink_hamlet.xml';
success := CkFileAccess_SymlinkCreate(fac,target,symlink);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkFileAccess__lastErrorText(fac));
    Exit;
  end;

// Here we create a directory symbolic link.  The target is a directory (not a regular file)
target := 'qa_data/xml/';
symlink := 'qa_output/xml_dir';
success := CkFileAccess_SymlinkCreate(fac,target,symlink);
if (success <> True) then
  begin
    Memo1.Lines.Add(CkFileAccess__lastErrorText(fac));
    Exit;
  end;

Memo1.Lines.Add('Success.');

CkFileAccess_Dispose(fac);

end;