วิธีสร้าง Symbolic Link บน Windows 10


102

กำลังอ่านhttp://www.dropboxwiki.com/tips-and-tricks/sync-game-saves-across-multiple-computersและฉันรู้ว่า junction / mklink ทำงานใน Windows 7 เช่นกัน แต่ดูเหมือนว่าคำสั่ง junction ออกใน Windows 10

วิธีที่ถูกต้องในการสร้าง symlink ใน Windows 10 คืออะไร


2
คุณสามารถดาวน์โหลดทางแยกได้จาก Windows SysInternals (ซึ่งเป็นส่วนหนึ่งของ Microsoft)
DavidPostill

ได้ผลขอบคุณมาก! หากคุณตอบกลับฉันสามารถยอมรับได้ว่าเป็นคำตอบที่ถูกต้อง
สีแดง

ยิ่งใหญ่ ฉันจะเขียนเป็นคำตอบ
DavidPostill

9
มีอะไรผิดปกติกับmklink?
Daniel B

คำตอบ:


122

ดูเหมือนว่าคำสั่ง junction จะถูกยกเลิกใน Windows 10

คุณสามารถดาวน์โหลดทางแยกได้จาก Windows SysInternals (ซึ่งเป็นส่วนหนึ่งของ Microsoft):

Junction ไม่เพียง แต่ช่วยให้คุณสามารถสร้างจุดเชื่อมต่อ NTFS ได้ แต่ยังช่วยให้คุณดูว่าไฟล์หรือไดเรกทอรีเป็นจุดแยกวิเคราะห์ใหม่หรือไม่ จุดแยกย่อยเป็นกลไกที่ใช้จุดแยก NTFS และใช้โดย 'Remote Storage Service (RSS)' ของ Windows รวมถึงจุดเชื่อมต่อระดับเสียง

โปรดอ่านบทความ Microsoft KB นี้สำหรับเคล็ดลับในการใช้ทางแยก

โปรดทราบว่า Windows ไม่สนับสนุนการแยกไดเรกทอรีในระยะไกลที่ใช้ร่วมกัน


ดังนั้นฉันจะสร้างทางแยกหรือลิงก์สัญลักษณ์ไดเรกทอรีใน Windows 10 ได้อย่างไร

ดาวน์โหลดjunctionตามคำแนะนำด้านบน

ตอนนี้คุณสามารถใช้คำสั่งต่อไปนี้

สร้างทางแยก:

junction "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

สร้างลิงก์สัญลักษณ์ไดเรกทอรี:

mklink /D "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

คุณสามารถใช้อย่างใดอย่างหนึ่งmklink /jหรือjunctionใน Windows 10 เพื่อสร้างทางแยก

คุณสามารถใช้mklink /dใน Windows 10 เพื่อสร้างลิงก์สัญลักษณ์ไดเรกทอรี

หมายเหตุ:

  • junctionmklinkนอกจากนี้ยังสามารถแสดงรายการแยกและตรวจสอบว่าไฟล์ที่เป็นชุมทางที่แตกต่างจาก

  • mklinkเป็นคำสั่งภายในใช้ได้เฉพาะภายในcmdเชลล์

  • โดยค่าเริ่มต้นผู้ดูแลระบบจะต้องใช้สิทธิ์ในการสร้างลิงค์สัญลักษณ์

    นอกจากนี้ยังสามารถมอบให้กับผู้ใช้รายอื่น การตั้งค่าความปลอดภัย "สามารถสร้างลิงก์สัญลักษณ์" ได้ที่:

    Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\
    

ตัวอย่าง

การใช้ mklink เพื่อสร้างลิงค์สัญลักษณ์ไดเรกทอรี:

F:\test>mklink /d test-dir-sym-link test
symbolic link created for test-dir-sym-link <<===>> test

ใช้ mklink เพื่อสร้างทางแยก:

F:\test>mklink /j test-junction test
Junction created for test-junction <<===>> test

การใช้ทางแยกเพื่อสร้างทางแยก:

F:\test>C:\apps\NirSoft\SysinternalsSuite\junction.exe test-junction test

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

Created: F:\test\test-junction
Targetted at: F:\test\test

อ่านเพิ่มเติม

  • ดัชนี AZ ของบรรทัดคำสั่ง Windows CMD - การอ้างอิงที่ยอดเยี่ยมสำหรับทุกสิ่งที่เกี่ยวข้องกับบรรทัด Windows cmd
  • mklink - สร้างลิงค์สัญลักษณ์ไปยังไดเรกทอรีหรือไฟล์หรือสร้างลิงค์ไฟล์หรือแยกไดเรกทอรี

สิ่งนี้แตกต่างmklink /jหรือไม่?
Jonno

1
@ จอนโนะเท่าที่ฉันรู้ว่ามันเหมือนกันเมื่อสร้างทางแยก junctionจะแสดงรายการแยกที่แตกต่างจากmklink
DavidPostill

2
เท่าที่ผมสามารถบอกคุณไม่สามารถใช้mklinkภายในPowerShellcmd.exeดังนั้นคุณจะต้องใช้ นอกจากนี้คุณต้องเรียกใช้ในฐานะผู้ดูแลระบบ แต่อย่าใช้คำของฉันมัน ฉันใช้คอมพิวเตอร์ Windows ประมาณ 40 ชั่วโมงเท่านั้น
Bruno Bronosky

@BrunoBronosky ถูกต้อง นั่นเป็นเพราะmklinkเป็นคำสั่งภายในที่มีอยู่ในcmdเปลือกเท่านั้น หมายเหตุ: บางcmdคำสั่งภายในได้รับการดำเนินการในการยกตัวอย่างเช่นPowerShell dir
DavidPostill

2
@DavidPostill การปรับปรุง แต่ยังคงมุ่งเน้นไปjunctionที่การดาวน์โหลดแยกต่างหาก mklinkดูเหมือนว่าจะทำงานได้ดีขึ้นเป็นจุดสนใจหลักโดยมีjunctionกรอบเป็นตัวเลือกเพิ่มเติมในตอนท้าย
WBT

43

เปิดเซสชัน PowerShell ในฐานะผู้ดูแลระบบและประเภท:

New-Item -ItemType SymbolicLink -Path E:\Data\MyGames -Target "C:\users\UserName\MyGames"

หรือใช้ไวยากรณ์ verbose น้อย:

ni E:\Data\MyGames -i SymbolicLink -ta "C:\users\UserName\MyGames" 

แน่นอนในปี 2559 และด้วย Windows 10 คุณไม่ต้องการเล่นเกมด้วยคำสั่ง cmd หรือการดาวน์โหลดจากภายนอก

Windows 10 มาพร้อมกับ PowerShell 5 ซึ่งได้รับการสนับสนุนในการสร้างลิงก์สัญลักษณ์


6
แน่นอนในปี 2559 ฉันไม่ควรกระโดดข้ามห่วงเพื่อสร้าง symlink! ยังคงเป็นหนึ่งในหน้าต่างที่ใหญ่ที่สุดล้มเหลว
David Arno

11
คุณพูดเล่นใช่มั้ย ฉันอยากจะทำ "การทดสอบ mklink / d-dir-sym-link" มากกว่า "รายการใหม่ --ItemType SymbolicLink -Path E: \ Data \ MyGames - เป้าหมาย" C: \ users \ ชื่อผู้ใช้ \ MyGames "super -verbose ไวยากรณ์ PowerShell ไม่ใช่ความชอบของฉันจริงๆ ...
Jaime de los Hoyos M.

8
@JaimedelosHoyosM - ใช้ไวยากรณ์ PowerShell ที่สั้นกว่าซึ่งคุณสามารถใช้ได้ni test-dir-sym-link -i SymbolicLink -ta test
Peter Hahndorf

มีวิธีการสร้าง SymbolicLink จาก PowerShell เช่นนี้โดยไม่มีสิทธิ์ผู้ดูแลระบบหรือไม่
cjsimon

2
@scape - คุณสามารถใช้ตัวอักษรสองสามตัวแรกของชื่อพารามิเตอร์หากพวกเขาระบุพารามิเตอร์ที่ไม่ซ้ำกันเช่น-iมีเพียงพอ-ItemTypeแต่-tไม่เพียงพอเพราะมีพารามิเตอร์มากกว่าหนึ่งพารามิเตอร์ที่ขึ้นต้นด้วยtดังนั้นเราจึงต้องใช้-ta
4253 Peter Hahndorf

14

หากคุณต้องการเครื่องมือ GUI สำหรับการสร้าง / แก้ไข symlink ให้ใช้ http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

Link Shell Extension (LSE) จัดทำขึ้นเพื่อสร้าง Hardlinks, Junctions, Volume Mountpoints และ Symbolic Links ของ Windows7 / 8 (ซึ่งต่อไปนี้เรียกรวมกันว่า Links) กระบวนการโคลนโฟลเดอร์ที่ใช้ Hardlinks หรือ Symbolic Links และกระบวนการคัดลอกดูแล Junctions, Symbolic Links และ Hardlinks LSE เนื่องจากชื่อหมายถึงถูกนำมาใช้เป็นส่วนขยายของเชลล์และเข้าถึงได้จาก Windows Explorer หรือตัวจัดการไฟล์ / โฟลเดอร์ที่คล้ายกัน ส่วนขยายช่วยให้ผู้ใช้สามารถเลือกไฟล์หรือโฟลเดอร์หนึ่งไฟล์หรือหลายโฟลเดอร์จากนั้นใช้เมาส์ทำการสร้างลิงค์ที่ต้องการ - ฮาร์ดลิงก์, จังก์ชันหรือลิงก์สัญลักษณ์หรือในกรณีของโฟลเดอร์เพื่อสร้างโคลนนิ่งประกอบด้วยฮาร์ดลิงค์หรือสัญลักษณ์ LSE ได้รับการสนับสนุนใน Windows ทุกรุ่นที่รองรับ NTFS เวอร์ชัน 5.0 หรือใหม่กว่ารวมถึง Windows XP64 และ Windows7 / 8/10 hardlinks,

ป้อนคำอธิบายรูปภาพที่นี่


3
โปรดอ่านฉันจะแนะนำซอฟต์แวร์สำหรับเคล็ดลับเกี่ยวกับวิธีการแนะนำซอฟต์แวร์ได้อย่างไร คุณควรให้ลิงค์อย่างน้อยข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับตัวซอฟต์แวร์เองและวิธีใช้เพื่อแก้ไขปัญหาในคำถาม
DavidPostill

1
มันเป็นเครื่องมือที่ดี แต่ข้อมูลเพิ่มเติมในคำตอบน่าจะดี
DavidPostill

1

ไม่จำเป็นต้องติดตั้งอะไร!

มีไฟล์ที่ง่ายและโอเพนซอร์สอยู่symlink_creator.bat และคุณสามารถลากและวางไฟล์ / โฟลเดอร์ที่ต้องการลงในไฟล์นั้น


สำหรับผู้ที่สนใจอยากรู้อยากเห็น: เป็นโอเพ่นซอร์สดังนั้นเพียงคลิกขวาที่ไฟล์และดูเนื้อหาของตัวคุณเองซึ่งมีรหัสหลายบรรทัด


6
คุณควรเพิ่มคำตอบของคุณว่าไฟล์แบตช์นี้ทำงานอย่างไรและความสัมพันธ์ของคุณกับมันคืออะไร ไฟล์แบตช์สามารถทำลายได้มากและใช้ไฟล์สุ่มจากอินเทอร์เน็ตขัดกับสามัญสำนึก
MoonRunestar

มีอะไรเพิ่มเติมที่น่าสนใจที่คุณไม่ได้ให้ความเห็นคำเหล่านี้กับคำตอบข้างต้นซึ่งลิงก์ไปยังโปรแกรมที่ไม่รู้จักและลิงค์ที่ฉันใช้ลิงก์ไปยังซอร์สโค้ดโอเพ่นซอร์ส
T.Todua

1
คำตอบข้างต้นมีผู้ดำเนินการแสดงความคิดเห็นไว้แล้ว ฉันกังวลเกี่ยวกับคำตอบของคุณเป็นส่วนใหญ่เพราะเว็บไซต์ที่คุณเชื่อมโยงนั้นดูค่อนข้างลำบากและรูปแบบของคำตอบของคุณนั้นทำให้ฉันติดธงสีแดง ฉันแค่หวาดระแวงจริงๆ
MoonRunestar

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