Windows Vista dodał możliwość tworzenia dowiązań symbolicznych do plików i katalogów. Jak utworzyć dowiązanie symboliczne i jakie bieżące wersje systemu Windows dla klientów i serwerów go obsługują?
Windows Vista dodał możliwość tworzenia dowiązań symbolicznych do plików i katalogów. Jak utworzyć dowiązanie symboliczne i jakie bieżące wersje systemu Windows dla klientów i serwerów go obsługują?
Odpowiedzi:
Możesz utworzyć dowiązanie symboliczne za pomocą narzędzia wiersza poleceń 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.
Łącza symboliczne za pośrednictwem mklink są dostępne od Windows Vista i Windows Server 2008. W Windows XP i Windows Server 2003 można używać
fsutil hardlink create <destination filename> <source filename>
Według msdn.microsoft , łącza symboliczne NIE są obsługiwane w systemach FAT16 / 32 i exFAT. Wygląda na to, że system Windows obsługuje je tylko z partycji NTFS lub do nich. Przyszłe systemy operacyjne Windows prawdopodobnie będą nadal obsługiwać mklink.
Więcej informacji na temat tej nowej funkcji można znaleźć w witrynie Microsoft TechNet , blogu Junfeng Zhang lub howtogeek.com .
fsutil
o odpowiedzi @ sascha poniżej, aby zapewnić rozwiązanie dla systemu Windows Server 2003.
W systemie Windows XP można użyć fsutil
(wbudowanego w system operacyjny) do utworzenia twardego łącza
fsutil hardlink create c:\foo.txt c:\bar.txt
Pamiętaj, że fsutil będzie działał tylko wtedy, gdy oba są na tym samym dysku
Jedną małą rzeczą, jeśli używasz Powershell, mklink nie działa bezpośrednio, uruchom go w następujący sposób:
PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2
Użyj mklink lub skrzyżowania z Sysinternals (Microsoft). Wierzę , że mklink będzie działał w systemie Windows 2000 i nowszych, ale nie mogę znaleźć twardej dokumentacji na ten temat. połączenie dotyczy systemu Windows 2000 i nowszych wersji.
Nie widzi tego w żadnej odpowiedzi, ale linkd.exe (w zestawie Windows 2003 Zasobami tutaj ) pozwala na tworzenie węzłów, które dość dużo funkcji jako miękki / twardy linku robi w Linuksie. Połączenia są dostępne w systemie Windows 2000 i nowszych, więc po prostu skopiuj linkd.exe do systemu docelowego i powinien on działać.
Jeśli nadal używasz starego systemu Windows, takiego jak XP, 2000, 2003 itp., Wypróbuj łącze NTFS .
Często go używam. Otrzymasz link do powłoki klikając opcję menu prawym przyciskiem myszy, aby utworzyć punkt połączenia. Doskonałe rzeczy.
Zobacz wpis TechNet . Uważam, że jest to funkcja Vista / Server 2008 i nowsze.
Aby upewnić się, że linki działają, możesz sprawdzić konfigurację swojego serwera. Łącza mogą być tworzone, ale jeśli nie użyjesz ustawienia symlinkevaluation w poniższym poleceniu, Twoje linki mogą nie działać.
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
Zobacz także http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx . Domyślnie aktywowane są tylko opcje lokalne.