Mit sogenannten Symlinks könnt ihr bei Windows Programme, Dateien oder Ordner an einem bestimmten Speicherort verschieben, und am alten (Installations) Ort eine System Weiterleitung einrichten.  Robert Schanze erklärt Ihnen in einem Beispiel, was Symlinks sind, wann ihr sie benötigt und wie ihr sie unter Windows erstellen und löschen könnt.

Symlinks – Was ist das?

Symlink ist die Kurzform für einen sogenannten Symbolic Link – eine symbolischen Verknüpfung. Es gibt zwei Arten. In der Windows-Welt werden die zwei Arten aber anders genannt, wie folgende Tabelle zeigt:

Link-Art Windows-interne Bezeichnung Erklärung
Soft Symlink (Soft Link) Symbolic Link Ähnlich wie eine Standard-Verknüpfung. Ein Soft Link leitet euch an die Stelle, wo sich das Ziel (Datei, Ordner, Programm) befindet.
Hard Symlink (Hard Link) Hard Link Ein Hard Link lässt es so aussehen, als ob das verknüpfte Ziel tatsächlich an der Stelle des Hard Links vorhanden wäre.

Info: Windows 10, 7, 8 und Vista können mit Symlinks umgehen. Zum eindeutigen Verständnis werden wir im Folgenden die Begriffe Soft Link und Hard Link nutzen.

Wozu braucht man Symlinks?

Ein Beispiel:

  • Ein Programm lässt sich nur im Ordner C:\Calcu installieren.
  • Ihr wollt den Speicherpfad aber lieber nach D:\Tom\Calcu verschieben.
  • Wenn ihr das Programm einfach so verschiebt, dann startet es nicht mehr, da es prüft, wo es derzeit abgelegt ist.

Was also tun?

  • Ihr verschiebt das Programm.
  • Dann erstellt ihr einen Hard Link namens C:\Calcu, der nach D:\Tom\Progs zeigt.
  • Wenn das Programm startet, wird es auf C:\Calcu zugreifen, Windows leitet es aber automatisch nach D:\Tom\Calcu, ohne dass das Programm davon etwas „merkt“.

Symlinks erstellen in Windows mit mklink-Befehl

In Windows könnt ihr Symlinks mit dem mklink-Befehl in einer Eingabeaufforderung mit Administratorrechten erstellen. Die folgende Tabelle zeigt die Befehle für Soft- und Hard Links. Gebt statt „Quelle“ und „Ziel“ die entsprechenden Speicherpfade ein, wie weiter unten erläutert.

CMD-Befehl Auswirkung
mklink Verknüpfung Ziel Befehl erstellt einen Soft Link bei / namens „Verknüpfung“, der auf die Datei „Ziel“ zeigt.
mklink /D Verknüpfung Ziel Befehl erstellt einen Soft Link bei / namens „Verknüpfung“, der auf das Verzeichnis „Ziel“ zeigt.
mklink /H Verknüpfung Ziel Befehl erstellt einen Hard Link bei / namens „Verknüpfung“, der auf die Datei „Ziel“ zeigt.
mklink /J Verknüpfung Ziel
Befehl erstellt einen Hard Link bei / namens „Verknüpfung“, der auf das Verzeichnis „Ziel“ zeigt.

Hinweis: Das Ziel kann hier ein relativer oder absoluter Pfad sein.

Beispiel:

  1. Wir verschieben unser Programm von C:\Calcu in das Verzeichnis D:\Tom\Calcu.
  2. Den Ordner C:\Calcu gibt es nicht mehr, da er verschoben ist.
  3. Nun wollen wir einen Hard Link in C:\Calcu erstellen, der auf das Verzeichnis D:\Tom\Calcu zeigt.
  4. Wir tippen in die Eingabeaufforderung Folgendes ein:
    mklink /J C:\Calcu D:\Tom\Calcu

Info: Setzt Anführungszeichen um die Speicherpfade, sofern Leerzeichen in den Pfaden vorkommen, also: mklink /J „C:\Calcu“ „D:\Tom\Calcu“

mklink verknüpfung windows 3 cmd rcm960x0

Ergebnis:

Unter C:\ finden wir nun den Hard Link. Ihr erkennt ihn am Verknüpfungssymbol:

mklink verknüpfung windows 1

Das eigentliche Programm „Calcu“ hatten wir vorher aber auf D:\Tom\Calcu verschoben:

mklink verknüpfung windows 2

Symlinks löschen

Ihr könnt die Symlinks löschen, indem ihr die Windows-Verknüpfungen im jeweiligen Ordner einfach mit der Maus markiert und die Entf-Taste drückt. Alternativ geht das auch per Eingabeaufforderung:

  • rmdir „C:\Calcu“
    Entfernt die von uns oben angelegte Verzeichnis-Verknüpfung wieder.
  • erase „C:\Datei.jpg“
    Entfernt eine angelegte Datei-Verknüpfung.

Anmerkung pcte.ch:

Hier finden Sie die Referenz zu mklink bei Microsoft Docs:

Alle SymLinks (mklink) anzeigen:
- http://www.windowspage.net/cgi-bin/board/YaBB.pl?num=1175549714

Was also tun wenn lediglich ein symbolischer Link angezeigt wird - wie kann man feststellen wo sich das Zielverzeichnis befindet? So beispielsweise das STARTMENÜ im Benutzerverzeichnis unter DOKUMENTE UND EINSTELLUNGEN? Programme können diesen Links zwar in die Tiefe folgen, aber für den Anwender ist der Explorer da keine Hilfe mehr.

Eine Möglichkeit zum Aufdecken des Zielorts ist das ändern der Dateiattribute. Vistas Kompatibilitätslinks sind als Hidden / System markiert. Das entfernen des System-Attributs veranlasst den Link sein Zielverzeichnis preiszugeben.

Die andere Möglichkeit ist für meinen Geschmack eleganter, da sie ohne Manipulation der Dateien auskommt - es handelt sich um den DIR Befehl in der Textkonsole (wie gehabt CMD.EXE). In der ausführlichen Darstellung zeigt er die Zielorte der symbolischen Links ("Verbindung") in Klammern mit an:

c:\>cd users\pctech>dir /c:l

als Ergebnis erhalten Sie eine Liste mit den Symbolischen Verbindungen.

Mit der DIR Befehl mit Schalter /R listet ADS (Alternate Data Streams) auf.

c:\>cd users\pctech>dir /c:r