Zunächst eine kurze Definition der Begriffe. Es gibt drei Arten von „Symlinks“ unter Windows.

  • Softlinks (auch Symlinks oder symbolische Links genannt)
  • hard links
  • junctions (eine Art von Softlinks nur für Verzeichnisse)

Softlinks können für Dateien oder Verzeichnisse erstellt werden.

Hardlinks können nur für Dateien erstellt werden.

Sowohl Soft- als auch Hardlinks müssen auf demselben Volume wie das Ziel erstellt werden, d.h. Sie können nicht etwas auf C: mit etwas auf D: verknüpfen.

Löschen von Links

Hier wird der Unterschied zwischen Soft- und Hardlinks am deutlichsten.

Löschen des Ziels führt dazu, dass Softlinks nicht mehr funktionieren. Das, worauf sie zeigen, ist weg. Harte Links hingegen funktionieren so lange, bis Sie den harten Link selbst löschen. Der Hardlink verhält sich genauso wie die Originaldatei, da er in jeder Hinsicht die Originaldatei ist.

Verknüpfungen

Windows hat auch eine andere Art von Verknüpfungen nur für Verzeichnisse, die so genannten Verknüfungen.

Verknüpfungen sehen aus und verhalten sich wie Softlinks. Der Hauptunterschied besteht darin, dass Sie damit Verzeichnisse verknüpfen können, die sich auf verschiedenen lokalen Datenträgern (aber immer noch auf demselben Computer) befinden. Sie können keine Verzweigung zu einem Netzwerkspeicherort erstellen.

MKLINK

Softlink zu einem Verzeichnis erstellen.

Verzweigungslink zu einem Verzeichnis erstellen.

Softlink zu einer Datei erstellen.

Harten Link zu einer Datei erstellen.

Wie sie aussehen.

Hinweis für PowerShell-Benutzer:
MKLINK ist keine ausführbare Datei, die Sie einfach über PowerShell aufrufen können. Sie müssen es über die Eingabeaufforderung aufrufen.

cmd /c mklink /D symlink_dir real_dir

Alternativ können Sie dieses Modul verwenden, das ich geschrieben habe und das native PowerShell-Wrapper für MKLINK enthält.

Lesen Sie mehr über MSLINK auf MSDN.

Verwenden von FSUTIL

FSUTIL ist eine weitere Möglichkeit, Hardlinks (aber keine Softlinks) zu erstellen. Dies ist dasselbe wie mklink /H.

Lesen Sie mehr über FSUTIL auf MSDN.

Verwenden von Junction

Junction ist ein von Sysinternals bereitgestelltes Tool, das eine weitere Möglichkeit zur Erstellung von Junctions bietet. Dasselbe wie mklink /J. Es hat auch einige andere Werkzeuge für die Arbeit mit Junctions, die ich hier nicht behandeln werde.