Först en snabb definition av termer. Det finns tre typer av ”symlänkar” i Windows.

  • softlänkar (även kallade symlänkar eller symboliska länkar)
  • hårdlänkar
  • junktioner (en typ av mjuklänkar endast för kataloger)

Mjuklänkar kan skapas för filer eller kataloger.

Hårdlänkar kan endast skapas för filer.

Både mjuka och hårda länkar måste skapas på samma volym som målet. dvs. du kan inte länka något på C: till något på D:.

Radera länkar

Det är här som skillnaden mellan mjuka och hårda länkar är tydligast.

Radera målet gör att mjuka länkar slutar fungera. Det som den pekar på är borta. Hårda länkar fortsätter däremot att fungera tills du raderar själva den hårda länken. Den hårda länken fungerar precis som originalfilen, eftersom den i alla avseenden är originalfilen.

Junctions

Windows har också en annan typ av länk bara för kataloger, som kallas Junctions.

Junctions ser ut och fungerar som mjuka länkar. Den viktigaste skillnaden är att de gör det möjligt att länka kataloger som ligger på olika lokala volymer (men fortfarande på samma dator). Du kan inte skapa en junction till en nätverksplats.

Användning av MKLINK

Skapa en mjuk länk till en katalog.

Skapa en junction-länk till en katalog.

Skapa en mjuk länk till en fil.

Skapa en hårdlänk till en fil.

Hur de ser ut.

Notis för PowerShell-användare:
MKLINK är inte en körbar fil som du bara kan kalla från PowerShell. Du måste anropa den via kommandotolken.

cmd /c mklink /D symlink_dir real_dir

Alternativt kan du använda den här modulen som jag skrev och som har PowerShell-wrappers för MKLINK.

Läs om MSLINK på MSDN.

Användning av FSUTIL

FSUTIL är ett annat sätt att skapa hårda länkar (men inte mjuka länkar). Detta är samma sak som mklink /H.

Läs om FSUTIL på MSDN.

Användning av Junction

Junction är ett verktyg som tillhandahålls av Sysinternals och ger ett annat sätt att skapa korsningar. Samma som mklink /J. Det har också några andra verktyg för att arbeta med junctions som jag inte kommer att ta upp här.