Wie erstelle ich eine symbolische Verknüpfung in Windows?

113

Windows Vista hat die Möglichkeit hinzugefügt, symbolische Links zu Dateien und Verzeichnissen zu erstellen. Wie erstelle ich eine symbolische Verknüpfung und welche aktuellen Konsumenten- und Serverversionen von Windows unterstützen diese?

Cowgod
quelle
6
Kann jemand die Unterschiede zwischen einem symbolischen Link und einer Verknüpfung hervorheben?
Tomjedrz
1
@tomjedrz: Wenn Sie eine Verknüpfung verwenden, öffnen alle APIs zum Öffnen dieser Verknüpfung eine Textdatei, die den Pfad zur Zieldatei / zum Zielordner enthält. Wenn Sie Links verwenden, öffnen alle APIs zum Öffnen dieses Links die Zieldatei / den Zielordner.
Afriza N. Arief
2
Im Gegensatz zu dem, was alle Leute gesagt haben, bestätige ich, dass es möglich ist , symbolische Links in Windows XP zu verwenden . (Ich verwende es, um die Picasa-Datenbank in einem freigegebenen VM-Ordner zu installieren.) Schauen Sie sich einfach schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html an und navigieren Sie zum Abschnitt "Symbolische Links für Windows XP". HTH
Adam Ryczkowski

Antworten:

109

Sie können eine symbolische Verknüpfung mit dem Befehlszeilendienstprogramm erstellen mklink.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.

Symbolische Verknüpfungen über mklink sind seit Windows Vista und Windows Server 2008 verfügbar. Unter Windows XP und Windows Server 2003 können Sie sie verwenden

fsutil hardlink create <destination filename> <source filename>

Laut msdn.microsoft werden symbolische Links unter FAT16 / 32 und exFAT NICHT unterstützt. Es scheint, dass Windows sie nur von oder zu NTFS-Partitionen unterstützt. Zukünftige Windows-Betriebssysteme werden wahrscheinlich weiterhin mklink unterstützen.

Weitere Informationen zu dieser neuen Funktion finden Sie im Microsoft TechNet , im Blog von Junfeng Zhang oder auf howtogeek.com .

Cowgod
quelle
Es wäre schön, wenn Sie Davids Technet-URL der Vollständigkeit halber zu Ihrem Eintrag hinzufügen würden.
Michael Pryor
Hinweis: Was ist eine Junction (/ J-Option)?
Roy Rico
A Directory Junction ist eine Art symbolischer Verzeichnisverknüpfung. support.microsoft.com/?kbid=205524
Lara Dougan
1
NTFS unterstützt seit Windows 2000 Links (mit verschiedenen Namen), die jedoch nur intern verwendet wurden, insbesondere in den SYSVOL-Domänenfreigaben. Für die Verwaltung standen einige Dienstprogramme zur Verfügung, die jedoch nicht integriert waren. Vista führte das MKLINK-Tool und die umfangreiche Verwendung von Links in Standard-Windows-Installationen ein.
Massimo
2
Wäre nett, fsutilvon @ saschas Antwort unten zu erwähnen , um eine Lösung für Windows Server 2003
bereitzustellen
30

Unter Windows XP können Sie fsutil(in das Betriebssystem integriert) einen Hardlink erstellen

 fsutil hardlink create c:\foo.txt c:\bar.txt

Beachten Sie, dass fsutil nur funktioniert, wenn sich beide auf demselben Laufwerk befinden

saschabeaumont
quelle
2
Gute Antwort. Ich bin auf WinXP / Win2003 und brauche mklink, aber das hat mein Problem für mich gelöst. Ich verwende normalerweise junction.exe von sysinternals, aber das behandelt nur Verzeichnisse und in diesem Fall brauchte ich einen
Dateilink
Schade, dass ein symbolischer Link nicht von fsutil erstellt werden kann, zumindest nicht von dem, was ich an anderer Stelle gelesen habe. Dies ist eine harte Verbindung und somit keine Antwort auf die Frage.
Vlasec,
10

Eine kleine Sache, wenn Sie Powershell verwenden, funktioniert mklink nicht direkt. Führen Sie es folgendermaßen aus:

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2
Dennis Williamson
quelle
1
Das sollte / c sein, nicht / k, sonst wird cmd.exe nicht beendet.
dangph
7

Verwenden Sie mklink oder junction von Sysinternals (Microsoft). Ich glaube, mklink wird unter Windows 2000 und höher funktionieren, aber ich kann keine harte Dokumentation dazu finden. Junction ist für Windows 2000 und höher.

user2287
quelle
1
Der Befehl mklink lautet Vista und Server 2008 und höher, wie ich oben ausgeführt habe.
4

Ich habe dies in keiner der Antworten gesehen, aber mit linkd.exe (im Windows 2003 Resource Kit hier ) können Sie Junctions erstellen, die in Linux so gut wie als Soft- / Hard-Link funktionieren. Junctions sind ab Windows 2000 verfügbar. Kopieren Sie daher einfach linkd.exe auf das Zielsystem und es sollte funktionieren.

Romandas
quelle
1
Beachten Sie, dass `/ linkd` nur für Verzeichnisse gilt, nicht für Dateien.
Phrogz
3

Wenn Sie noch unter alten Windows-Betriebssystemen wie XP, 2000, 2003 usw. arbeiten, versuchen Sie es mit NTFS Link .

Ich benutze es oft. Sie erhalten eine Shell-Link-Rechtsklick-Menüoption, um einen Knotenpunkt zu erstellen. Ausgezeichnetes Zeug.

Stewart Robinson
quelle
Unter Windows 2003 funktionierte dies hervorragend, um einen symbolischen Link zu einem Ordner auf einem anderen Laufwerk zu erstellen. Vielen Dank!
Phil
Kommentar von anonymen Benutzern, die ursprünglich in die Antwort bearbeitet: „Hinweis: Für XP funktioniert, muss es eine NTFS - Partition zu verwenden, nicht FAT- oder FAT32 - See. Aumha.org/win5/a/ntfscvt.php für die Schritte auf , wie man in NTFS konvertieren. "
squillman
2

Siehe TechNet- Eintrag. Ich glaube, es ist eine Vista / Server 2008 und höher-Funktion.


quelle
Cool, noch nie über dieses Feature gewusst, danke für den Link, könnte so nützlich sein !!!
Marc-Andre R.
1

Um sicherzustellen, dass Ihre Links funktionieren, sollten Sie möglicherweise die Konfiguration Ihres Servers überprüfen. Verknüpfungen können hergestellt werden, aber Ihre Verknüpfungen funktionieren möglicherweise nicht, es sei denn, Sie verwenden die Symlinkevaluation-Einstellung im folgenden Befehl.

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

Siehe auch http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx . Standardmäßig sind nur die lokalen Optionen aktiviert.

user906489
quelle