ฉันจะสร้างลิงค์สัญลักษณ์ใน Windows ได้อย่างไร


113

Windows Vista เพิ่มความสามารถในการสร้างลิงก์สัญลักษณ์ไปยังไฟล์และไดเรกทอรี ฉันจะสร้างลิงค์สัญลักษณ์และ Windows รุ่นผู้บริโภคและเซิร์ฟเวอร์ปัจจุบันที่รองรับได้อย่างไร


6
บางคนสามารถเน้นความแตกต่างระหว่างลิงก์สัญลักษณ์และทางลัดได้หรือไม่
tomjedrz

1
@tomjedrz: หากคุณใช้ทางลัด API ใด ๆ ในการเปิดทางลัดนั้นจะเป็นการเปิดไฟล์ข้อความที่มีเส้นทางไปยังไฟล์ / โฟลเดอร์เป้าหมาย หากคุณใช้ลิงก์ API ใด ๆ เพื่อเปิดลิงก์นั้นจะเปิดไฟล์ / โฟลเดอร์เป้าหมาย
Afriza N. Arief

2
ขัดกับสิ่งที่ทุกคนได้กล่าวว่าฉันยืนยันว่ามันเป็นไปได้ที่จะใช้เชื่อมโยงสัญลักษณ์ในWindows XP (ฉันใช้เพื่อติดตั้งฐานข้อมูล Picasa ในโฟลเดอร์แชร์ของ VM) เพียงแค่ดูที่schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.htmlและไปที่ส่วน "ลิงก์สัญลักษณ์สำหรับ Windows XP" HTH
Adam Ryczkowski

คำตอบ:


109

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.

ลิงก์สัญลักษณ์ผ่าน mklink นั้นมีให้ตั้งแต่ Windows Vista และ Windows Server 2008 คุณสามารถใช้ Windows XP และ Windows Server 2003 ได้

fsutil hardlink create <destination filename> <source filename>

ตามmsdn.microsoft , Symbolic Links ไม่รองรับ FAT16 / 32 และ exFAT ดูเหมือนว่า Windows สนับสนุนเฉพาะจากหรือไปยังพาร์ทิชัน NTFS ระบบปฏิบัติการ Windows ในอนาคตมีแนวโน้มที่จะสนับสนุน mklink ต่อไป

คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะใหม่นี้บนMicrosoft TechNet , บล็อก Junfeng จางหรือhowtogeek.com


ยินดีที่ได้เพิ่ม URL ของ David Technet ลงในรายการของคุณเพื่อความสมบูรณ์
Michael Pryor

หมายเหตุไซต์ juntion (/ ตัวเลือก J) คืออะไร
Roy Rico

A Directory Junction ชนิดของลิงก์สัญลักษณ์ไดเร็กทอรี support.microsoft.com/?kbid=205524
Lara Dougan

1
NTFS ได้รับการสนับสนุนการเชื่อมโยง (ด้วยชื่อต่าง ๆ ) ตั้งแต่ Windows 2000 แต่มันถูกใช้ภายในเท่านั้นโดยเฉพาะอย่างยิ่งใน SYSVOL โดเมนที่ใช้ร่วมกัน; ยูทิลิตี้บางอย่างพร้อมใช้งานสำหรับการจัดการ แต่ไม่ได้มีอยู่แล้วภายใน Vista แนะนำเครื่องมือ MKLINK และการใช้งานลิงก์ในการติดตั้ง Windows เริ่มต้น
Massimo

2
จะดีที่จะพูดถึงfsutilจากคำตอบของ @ sascha ด้านล่างเพื่อให้การแก้ปัญหาสำหรับ Windows Server 2003
Phrogz

30

ใน Windows XP คุณสามารถใช้fsutil(สร้างขึ้นในระบบปฏิบัติการ) เพื่อสร้างฮาร์ดลิงก์

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

โปรดจำไว้ว่า fsutil จะใช้ได้ก็ต่อเมื่อทั้งสองอยู่ในไดรฟ์เดียวกัน


2
คำตอบที่ดี. ฉันใช้ WinXP / Win2003 และต้องการ mklink แต่วิธีนี้แก้ไขปัญหาของฉันได้ ฉันมักจะใช้ junction.exe จาก sysinternals แต่เพียงจัดการไดเรกทอรีและในกรณีนี้ฉันต้องการลิงค์ไฟล์
s3v1

ไม่สามารถสร้างลิงก์สัญลักษณ์ที่น่าเสียดายโดย fsutil อย่างน้อยจากสิ่งที่ฉันได้อ่านที่อื่น นี่เป็นลิงก์ที่ยากและไม่ใช่คำตอบสำหรับคำถาม
Vlasec

10

สิ่งเล็ก ๆ น้อย ๆ ถ้าคุณใช้ Powershell, mklink ไม่ทำงานโดยตรงให้เรียกใช้ดังนี้:

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

1
นั่นควรเป็น / c ไม่ใช่ / k มิฉะนั้น cmd.exe จะไม่ออก
dangph

7

ใช้mklinkหรือทางแยกจากSysinternals (Microsoft) ฉันเชื่อว่า mklinkจะทำงานใน Windows 2000 ขึ้นไป แต่ฉันไม่สามารถหาเอกสารที่ยากได้ junctionสำหรับ Windows 2000 ขึ้นไป


1
mklink คำสั่งคือ Vista และ Server 2008 ขึ้นไปเท่านั้นตามที่ผมได้กล่าวไว้ข้างต้น

4

ไม่เห็นสิ่งนี้ในคำตอบใด ๆ แต่ linkd.exe (ในชุดทรัพยากร Windows 2003 ที่นี่ ) ช่วยให้คุณสามารถสร้างทางแยกซึ่งฟังก์ชั่นค่อนข้างมากเช่นเดียวกับลิงค์ soft / hard ใน Linux จุดแยกพร้อมใช้งานจาก Windows 2000 ขึ้นไปดังนั้นเพียงคัดลอก linkd.exe ไปยังระบบเป้าหมายและควรใช้งานได้


1
โปรดทราบว่า `/ linkd` ใช้สำหรับไดเรกทอรีเท่านั้นไม่ใช่ไฟล์
Phrogz

3

หากคุณยังคงอยู่บน Windows เก่าเช่น XP, 2000, 2003, ฯลฯ ลองNTFS ลิงก์

ฉันใช้มันมาก คุณจะได้รับลิงค์ของเชลล์คลิกขวาที่ตัวเลือกเมนูเพื่อสร้างจุดเชื่อมต่อ สิ่งที่ยอดเยี่ยม


สิ่งนี้ใช้งานได้ดีสำหรับฉันใน Windows 2003 สำหรับการสร้างลิงก์สัญลักษณ์ไปยังโฟลเดอร์ในไดรฟ์อื่น ขอบคุณ!
ฟิล

ความคิดเห็นจากผู้ใช้ที่ไม่ระบุชื่อ แต่เดิมแก้ไขเป็นคำตอบ: "หมายเหตุ: เพื่อให้ XP ทำงานได้จะต้องใช้พาร์ติชัน NTFS ไม่ใช่ FAT หรือ FAT32 ดูaumha.org/win5/a/ntfscvt.phpสำหรับขั้นตอนวิธีการ แปลงเป็น NTFS "
squillman

2

ดูรายการTechNet ฉันเชื่อว่าเป็นคุณสมบัติ Vista / Server 2008 ขึ้นไป


เจ๋งไม่เคยรู้เกี่ยวกับคุณสมบัตินี้มาก่อนขอบคุณสำหรับลิงค์อาจมีประโยชน์มาก !!!
Marc-Andre R.

1

เพื่อให้แน่ใจว่าลิงก์ของคุณใช้งานได้คุณอาจต้องการตรวจสอบการกำหนดค่าเซิร์ฟเวอร์ของคุณ ลิงก์สามารถทำได้ แต่ถ้าคุณใช้การตั้งค่า symlink ในการใช้คำสั่งต่อไปนี้ลิงก์ของคุณอาจไม่ทำงาน

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

ดูเพิ่มเติมhttp://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx โดยค่าเริ่มต้นเฉพาะตัวเลือกในท้องถิ่นจะเปิดใช้งาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.