Làm cách nào để tạo liên kết tượng trưng trong Windows?


113

Windows Vista đã thêm khả năng tạo các liên kết tượng trưng đến các tệp và thư mục. Làm cách nào để tạo một liên kết tượng trưng và các phiên bản máy chủ và người dùng hiện tại của Windows hỗ trợ nó là gì?


6
Ai đó có thể làm nổi bật sự khác biệt giữa một liên kết tượng trưng và một phím tắt?
tomjedrz

1
@tomjedrz: nếu bạn đang sử dụng phím tắt, mọi API để mở lối tắt đó sẽ mở tệp văn bản chứa đường dẫn đến tệp / thư mục đích. nếu bạn đang sử dụng các liên kết, bất kỳ API nào để mở liên kết đó sẽ mở tệp / thư mục đích.
Afriza N. Arief 17/212

2
Trái với những gì mọi người đã nói, tôi xác nhận rằng có thể sử dụng các liên kết tượng trưng trong Windows XP . (Tôi sử dụng nó để cài đặt cơ sở dữ liệu Picasa trên thư mục dùng chung VM). Chỉ cần xem schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html và điều hướng đến phần "Liên kết tượng trưng cho Windows XP". HTH
Adam Ryczkowski

Câu trả lời:


109

Bạn có thể tạo một liên kết tượng trưng với tiện ích dòng lệnh 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.

Liên kết tượng trưng qua mklink có sẵn kể từ Windows Vista và Windows Server 2008. Trên Windows XP và Windows Server 2003, bạn có thể sử dụng

fsutil hardlink create <destination filename> <source filename>

Theo msdn.microsoft , Liên kết tượng trưng KHÔNG được hỗ trợ trên FAT16 / 32 và exFAT. Có vẻ như Windows chỉ hỗ trợ chúng từ hoặc đến phân vùng NTFS. Các hệ điều hành Windows trong tương lai có thể sẽ tiếp tục hỗ trợ cho mklink.

Bạn có thể đọc thêm thông tin về tính năng mới này trên Microsoft TechNet , blog của Junfeng Zhang hoặc howtogeek.com .


Sẽ rất tuyệt nếu thêm url Technet của David vào mục nhập của bạn để hoàn thiện.
Michael Pryor

lưu ý trang web, một tùy chọn juntion (/ J) là gì?
Roy Rico

Một thư mục Nối một loại liên kết tượng trưng thư mục. support.microsoft.com/?kbid=205524
Lara Dougan

1
NTFS đã được hỗ trợ các liên kết (với nhiều tên khác nhau) kể từ Windows 2000, nhưng chúng chỉ được sử dụng nội bộ, đáng chú ý nhất là trong các chia sẻ tên miền SYSVOL; một số tiện ích có sẵn để quản lý chúng, nhưng không được tích hợp sẵn; Vista đã giới thiệu công cụ MKLINK và việc sử dụng rộng rãi các liên kết trên các cài đặt Windows mặc định.
Massimo

2
Rất vui được đề cập fsutiltừ câu trả lời của @ sascha bên dưới để cung cấp giải pháp cho Windows Server 2003.
Phrogz

30

Trên Windows XP, bạn có thể sử dụng fsutil(tích hợp vào HĐH) để tạo liên kết cứng

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

Hãy nhớ rằng fsutil sẽ chỉ hoạt động nếu cả hai trên cùng một ổ đĩa


2
Câu trả lời tốt. Tôi đang sử dụng WinXP / Win2003 và cần mklink, nhưng điều này đã giải quyết vấn đề của tôi cho tôi. Tôi thường sử dụng
jeft.exe từ sysiternals

Đáng tiếc một liên kết tượng trưng không thể được tạo bởi fsutil, ít nhất là từ những gì tôi đã đọc ở nơi khác. Đây là một liên kết cứng và do đó không phải là một câu trả lời cho câu hỏi.
Vlasec

10

Một điều nhỏ, nếu bạn đang sử dụng Powershell, mklink không hoạt động trực tiếp, hãy chạy nó như thế này:

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

1
Đó phải là / c, không phải / k, nếu không cmd.exe sẽ không thoát.
dangph

7

Sử dụng mklink hoặc đường nối từ Sysiternals (Microsoft). Tôi tin rằng mklink sẽ hoạt động trong Windows 2000 trở lên, nhưng tôi không thể tìm thấy bất kỳ tài liệu cứng nào về điều đó. đường giao nhau dành cho Windows 2000 trở lên.


1
Lệnh mklink là Vista và Server 2008 trở lên, như tôi đã chỉ ra ở trên.

4

Không thấy điều này trong bất kỳ câu trả lời nào, nhưng linkd.exe (trong bộ Tài nguyên Windows 2003 tại đây ) cho phép bạn tạo các mối nối, có nhiều chức năng như một liên kết mềm / cứng trong Linux. Các mối nối có sẵn từ Windows 2000 trở lên, vì vậy chỉ cần sao chép linkd.exe vào hệ thống đích và nó sẽ hoạt động.


1
Lưu ý rằng `/ linkd` chỉ dành cho thư mục, không phải tệp.
Phrogz

3

Nếu bạn vẫn còn trên Windows cũ, như XP, 2000, 2003, v.v., hãy thử NTFS Link .

Tôi sử dụng nó rất nhiều. Bạn nhận được một liên kết trình đơn nhấp chuột phải tùy chọn menu để tạo một điểm nối. Công cụ tuyệt vời.


Điều này làm việc rất tốt cho tôi trên Windows 2003 vì đã tạo một liên kết tượng trưng đến một thư mục trên một ổ đĩa khác. Cảm ơn!
Phil

Nhận xét từ người dùng ẩn danh, ban đầu được chỉnh sửa thành câu trả lời: "Lưu ý: Để XP hoạt động, nó phải sử dụng phân vùng NTFS, không phải là FAT hoặc FAT32. Xem aumha.org/win5/a/ntfscvt.php để biết các bước về cách chuyển đổi sang NTFS. "
squillman

2

Xem mục TechNet . Tôi tin rằng đây là một tính năng của Vista / Server 2008 trở lên.


Thật tuyệt, chưa bao giờ biết về tính năng này trước đây, nhờ liên kết, có thể rất hữu ích !!!
Marc-Andre R.

1

Để đảm bảo các liên kết của bạn hoạt động, bạn có thể muốn kiểm tra cấu hình máy chủ của mình. Liên kết có thể được thực hiện nhưng trừ khi bạn sử dụng cài đặt đánh giá liên kết tượng trưng trong lệnh sau, liên kết của bạn có thể không hoạt động.

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

Xem thêm http://technet.microsoft.com/en-us/l Library / cc754077% 28v = ws.10% 29.aspx . Theo mặc định, chỉ có các tùy chọn cục bộ được kích hoạt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.