Vraag Hoe maak ik een symbolische koppeling in Windows?


Windows Vista heeft de mogelijkheid toegevoegd om symbolische koppelingen naar bestanden en mappen te maken. Hoe maak ik een symbolische koppeling en wat zijn de huidige consumenten- en serverversies van Windows die dit ondersteunen?


108
2018-05-11 18:06


oorsprong


Kan iemand de verschillen tussen een symbolische link en een snelkoppeling markeren? - tomjedrz
@tomjedrz: als u een snelkoppeling gebruikt, openen API's om die snelkoppeling te openen een tekstbestand met het pad naar het doelbestand / de map. als u links gebruikt, openen API's om die link te openen het doelbestand / map. - Afriza N. Arief
In tegenstelling tot wat alle mensen hebben gezegd, bevestig ik dat het is mogelijk gebruiken symbolische links in Windows XP. (Ik gebruik het om de Picasa-database in de gedeelde map van VM te installeren). Kijk maar eens naar schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.htmlen navigeer naar sectie "Symbolische koppelingen voor Windows XP". HTH - Adam Ryczkowski


antwoorden:


U kunt een symbolische koppeling maken met het opdrachtregelhulpprogramma 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 koppelingen via mklink zijn beschikbaar sinds Windows Vista en Windows Server 2008. Op Windows XP en Windows Server 2003 kunt u gebruiken

fsutil hardlink create <destination filename> <source filename>

Volgens msdn.microsoft, Symbolische koppelingen worden NIET ondersteund op FAT16 / 32 en exFAT. Het lijkt erop dat Windows ze alleen van of naar NTFS-partities ondersteunt. Toekomstige Windows-besturingssystemen zullen waarschijnlijk ondersteuning blijven bieden voor mklink.

U kunt meer informatie over deze nieuwe functie lezen Microsoft TechNet, Het blog van Junfeng Zhang of howtogeek.com.


106
2018-05-11 18:20



Zou fijn zijn om de Technet url van David toe te voegen aan je inzending voor volledigheid. - Michael Pryor
sitebon, wat is een juntion (/ J optie)? - Roy Rico
A Directory Junction een type directory symbolische link. support.microsoft.com/?kbid=205524 - Lara Dougan
NTFS ondersteunt sinds Windows 2000 koppelingen (met verschillende namen), maar deze werden alleen intern gebruikt, met name in de SYSVOL-domeinaandelen; sommige hulpprogramma's waren beschikbaar om ze te beheren, maar waren niet ingebouwd; Vista introduceerde de MKLINK-tool en het uitgebreide gebruik van links op standaard Windows-installaties. - Massimo
Zou leuk zijn om te vermelden fsutil van @ sascha's antwoord hieronder om een ​​oplossing voor Windows Server 2003 te bieden. - Phrogz


Op Windows XP kunt u gebruiken fsutil (ingebouwd in het besturingssysteem) om een ​​hardlink te maken

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

Houd er rekening mee dat fsutil alleen werkt als beide op dezelfde schijf staan


30
2018-05-11 23:48



Goed antwoord. Ik ben op WinXP / Win2003 en had mklink nodig, maar dit loste mijn probleem voor mij op. Meestal gebruik ik junction.exe van sysinternals, maar dat verwerkt alleen mappen en in dit geval had ik een bestandslink nodig - s3v1
Jammer genoeg kan een fictieve link niet door fsutil worden gemaakt, althans niet van wat ik elders heb gelezen. Dit is een harde link en dus geen antwoord op de vraag. - Vlasec


Een klein ding, als u Powershell gebruikt, werkt mklink niet direct, voer het als volgt uit:

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



Dat zou / c, not / k moeten zijn, anders zal cmd.exe niet afsluiten. - dangph


Gebruik mklink of knooppunt van Sysinternals (Microsoft). ik van mening zijn  mklink werkt in Windows 2000 en hoger, maar daar kan ik geen harde documentatie over vinden. knooppunt is voor Windows 2000 en hoger.


7
2018-05-11 18:10



Het commando mklink is alleen Vista en Server 2008, zoals ik hierboven heb aangegeven.


Ik heb dit niet in een van de antwoorden gezien, maar in linkd.exe (in de Windows Resource-kit hier) kunt u kruispunten maken, die vrijwel als een zachte / harde link werken in Linux. Junctions zijn beschikbaar vanaf Windows 2000 en hoger, dus kopieer linkd.exe naar het doelsysteem en het zou moeten werken.


4
2018-06-04 22:36



Merk op dat `/ linkd` alleen voor mappen is, niet voor bestanden. - Phrogz


Als u nog steeds op oud Windows, zoals XP, 2000, 2003, enz., Probeert NTFS-koppeling.

Ik gebruik het veel. U krijgt een rechtermuisklik-menuoptie om een ​​verbindingspunt te maken. Uitstekende dingen.


3
2018-05-11 19:35



Dit werkte prima voor mij in Windows 2003 voor het maken van een symbolische koppeling naar een map op een ander station. Bedankt! - Phil
Reactie van anonieme gebruiker, oorspronkelijk bewerkt in het antwoord: "Opmerking: om XP te laten werken, moet het een NTFS-partitie gebruiken, niet FAT of FAT32. aumha.org/win5/a/ntfscvt.php voor stappen over het converteren naar NTFS. " - squillman


Zien TechNet binnenkomst. Ik geloof dat het een Vista / Server 2008 en hoger functie is.


2
2018-05-11 18:08



Cool, nooit eerder over deze functie gekend, bedankt voor de link, zou zo veel nuttigs kunnen zijn !!! - Marc-Andre R.


Om ervoor te zorgen dat uw links werken, wilt u misschien de configuratie van uw server controleren. Er kunnen koppelingen worden gemaakt, maar tenzij u de symlinkevaluatie-instelling gebruikt in het volgende commando, werken uw koppelingen mogelijk niet.

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

Zie ook http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx. Standaard zijn alleen de lokale opties geactiveerd.


1
2018-01-05 22:07