Frage Wie erstelle ich einen symbolischen Link in Windows?


Windows Vista hat die Möglichkeit hinzugefügt, symbolische Verknüpfungen zu Dateien und Verzeichnissen zu erstellen. Wie erstelle ich einen symbolischen Link und was sind die aktuellen Verbraucher- und Serverversionen von Windows, die ihn unterstützen?


108
2018-05-11 18:06


Ursprung


Kann jemand die Unterschiede zwischen einem symbolischen Link und einer Verknüpfung hervorheben? - tomjedrz
@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
Im Gegensatz zu dem, was alle gesagt haben, bestätige ich das es ist möglich benutzen symbolische Links im Windows XP. (Ich verwende es zur Installation der Picasa-Datenbank im freigegebenen VM-Ordner). Sieh es dir einfach an schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html und navigieren Sie zum Abschnitt "Symbolische Links für Windows XP". HTH - Adam Ryczkowski


Antworten:


Sie können eine symbolische Verbindung 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 Links über mklink sind seit Windows Vista und Windows Server 2008 verfügbar. Unter Windows XP und Windows Server 2003 können Sie verwenden

fsutil hardlink create <destination filename> <source filename>

Gemäß msdn.microsoftSymbolische Links werden auf 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.

Sie können weitere Informationen zu dieser neuen Funktion lesen Microsoft TechNet, Junfeng Zhangs Blog oder howtogeek.com.


106
2018-05-11 18:20



Wäre schön, Davids Technet-URL zu Ihrem Eintrag für die Vollständigkeit hinzuzufügen. - Michael Pryor
Site-Notiz, was ist eine juntion (/ J Option)? - Roy Rico
Eine Verzeichnisverzweigung ist eine Art symbolischer Verzeichnislink. support.microsoft.com/?kbid=205524 - Lara Dougan
NTFS unterstützt seit Windows 2000 Links (mit verschiedenen Namen), die jedoch nur intern verwendet wurden, insbesondere in den SYSVOL-Domänenfreigaben. einige Dienstprogramme waren verfügbar, um sie zu verwalten, aber waren nicht eingebaut; Vista führte das MKLLINK-Tool und die umfangreiche Verwendung von Links bei Standard-Windows-Installationen ein. - Massimo
Wäre schön zu erwähnen fsutil von @ sascha's Antwort unten, um eine Lösung für Windows Server 2003 zu bieten. - Phrogz


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

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

Denken Sie daran, dass fsutil nur funktioniert, wenn beide auf derselben Festplatte sind


30
2018-05-11 23:48



Gute Antwort. Ich bin auf WinXP / Win2003 und brauchte mklink, aber das löste mein Problem für mich. Ich benutze normalerweise junction.exe von sysinternals, aber das behandelt nur Verzeichnisse und in diesem Fall brauchte ich eine Dateiverknüpfung - s3v1
Schade, dass ein symbolischer Link von fsutil nicht 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


Eine kleine Sache, wenn Sie Powershell verwenden, funktioniert mklink nicht direkt, führen Sie es so:

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2

10
2018-06-28 16:19



Das sollte / c sein, nicht / k, sonst wird cmd.exe nicht beendet. - dangph


Benutzen mklink oder Kreuzung von Sysinternals (Microsoft). ich glauben  mklink funktioniert in Windows 2000 und höher, aber ich kann keine harte Dokumentation darüber finden. Kreuzung ist für Windows 2000 und höher.


7
2018-05-11 18:10



Der Befehl mklink ist Vista und Server 2008 und nur oben, wie ich oben ausgeführt habe.


Habe das in keiner der Antworten gesehen, aber linkd.exe (im Windows 2003 Resource Kit Hier) ermöglicht es Ihnen, Junctions zu erstellen, die unter Linux so gut wie eine Soft / Hard-Verbindung funktionieren. Junctions sind ab Windows 2000 verfügbar, also kopiere linkd.exe einfach auf das Zielsystem und es sollte funktionieren.


4
2018-06-04 22:36



Beachten Sie, dass `/ linkd` nur für Verzeichnisse und nicht für Dateien gilt. - Phrogz


Wenn Sie immer noch auf alten Windows, wie XP, 2000, 2003 usw., versuchen, versuchen Sie es NTFS-Verbindung.

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


3
2018-05-11 19:35



Das hat mir unter Windows 2003 sehr geholfen, eine symbolische Verbindung zu einem Ordner auf einem anderen Laufwerk herzustellen. Vielen Dank! - Phil
Kommentar vom anonymen Benutzer, ursprünglich in der Antwort bearbeitet: "Hinweis: Damit XP funktioniert, muss es eine NTFS-Partition verwenden, nicht FAT oder FAT32. Siehe aumha.org/win5/a/ntfscvt.php Schritte zur Konvertierung in NTFS. " - squillman


Sehen TechNet Eintrag. Ich glaube, es ist ein Vista / Server 2008 und höher Feature.


2
2018-05-11 18:08



Cool, noch nie über dieses Feature bekannt, danke für den Link, könnte so viel nützen !!! - Marc-Andre R.