Først en hurtig definition af begreber. Der findes tre slags “symlinks” i Windows.

  • softlinks (også kaldet symlinks eller symbolske links)
  • hårde links
  • forbindelser (en type blødt link kun for mapper)

Softlinks kan oprettes til filer eller mapper.

Hårde links kan kun oprettes til filer.

Både bløde og hårde links skal oprettes på samme volumen som målet. dvs. du kan ikke linke noget på C: til noget på D:.

Sletning af links

Det er her forskellen mellem bløde og hårde links er mest tydelig.

Letning af målet medfører, at bløde links ikke længere virker. Det, som det peger på, er væk. Hårde links vil derimod fortsætte med at fungere, indtil du sletter selve det hårde link. Det hårde link fungerer ligesom den originale fil, fordi det i alle henseender er den originale fil.

Junctions

Windows har også en anden type link kun til mapper, kaldet Junctions.

Junctions ser ud og fungerer som bløde links. Den vigtigste forskel er, at de giver dig mulighed for at sammenkæde mapper, der er placeret på forskellige lokale diskenheder (men stadig på samme computer). Du kan ikke oprette et junction til en netværksplacering.

Brug af MKLINK

Opret et blødt link til en mappe.

Opret junction-link til en mappe.

Opret et blødt link til en fil.

Opret et hårdt link til en fil.

Sådan ser de ud.

Note til PowerShell-brugere:
MKLINK er ikke en eksekverbar fil, som du bare kan kalde fra PowerShell. Du skal kalde den via kommandoprompten.

cmd /c mklink /D symlink_dir real_dir

Alternativt kan du bruge dette modul, som jeg skrev, og som har native PowerShell-wrappere til MKLINK.

Læs om MSLINK på MSDN.

Anvendelse af FSUTIL

FSUTIL er en anden måde at oprette hårde links (men ikke bløde links) på. Dette er det samme som mklink /H.

Læs om FSUTIL på MSDN.

Brug af Junction

Junction er et værktøj, der leveres af Sysinternals, og giver en anden måde at oprette junctions på. Samme som mklink /J. Det har også nogle andre værktøjer til at arbejde med junctions, som jeg ikke vil dække her.