Windows มี ln -s หรือเทียบเท่าหรือไม่


38

ฉันต้องการเชื่อมโยงไฟล์กับ C:\Windows\System32\drivers\etc\hosts

ฉันจะทำสิ่งนั้นกับ Windows ได้อย่างไร มีซอฟต์ลิงค์เช่นln -sหรือเทียบเท่าใน Windows หรือไม่?

คำตอบ:


38

คุณกำลังมองหาคำสั่ง "mklink"

เอกสารและตัวอย่างในMicrosoft เอกสารหรือss64.com

ตัวอย่างที่นำมาจากลิงค์:

// To create a symbolic link named MyDocs from the root directory to the \Users\User1\Documents directory, type:
mklink /d \MyDocs \Users\User1\Documents

4
โปรดทราบว่าคุณต้องมีสิทธิ์ผู้ดูแลระบบในการสร้างลิงก์สัญลักษณ์
Andres Riofrio

16

อาจมีวิธีอื่น ๆ แต่วิธีที่ฉันคุ้นเคยคือ mklink:

C:\>mklink 
Creates a symbolic link.

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.

3

มีทางแยกอยู่แต่ฉันไม่รู้ว่าจะทำสิ่งที่คุณต้องการหรือไม่

แก้ไข - โอ๊ะโอการเชื่อมต่อจะใช้กับไดเรกทอรีที่ไม่ใช่ไฟล์เท่านั้น


2

ตามที่ @inf กล่าวว่าmklinkเป็นโซลูชันสำหรับ Vista และสูงกว่า

สำหรับ 2000 / XP คุณสามารถใช้fsutil Hardlink โปรดทราบว่าฮาร์ดลิงก์ไม่ทำงานกับไดรฟ์ต่างจาก mklink


1
นอกจากนี้ยังมีค่าของโน้ตเป็นที่บางคนอาจจะไม่ทราบ แต่ hardlinks กลายเป็นไฟล์ กล่าวอีกนัยหนึ่งเป็นไปได้ที่จะลบต้นฉบับและลิงก์ยังคงใช้งานได้ (และนี่คือสาเหตุที่ไม่สามารถทำงานข้ามไดรฟ์ได้)
Camilo Martin

ตามลิงค์ที่คุณให้fsutil Hardlink , fsutil hardlinkเป็นเพียงสำหรับ Vista และข้างต้น มีรุ่นเก่ากว่าสำหรับ Windows 2000 และ XP หรือไม่
matty

แน่นอนมันมีให้สำหรับ XP ตามที่อธิบายไว้ในเอกสารการเชื่อมโยง hards fsutilของWindows XP ฉันไม่สามารถยืนยันได้ถึงฟังก์ชั่นการใช้งานใน Windows 2000 แต่ใช้งานได้ใน Windows XP
matty

2

Link Shell Extensionสามารถสร้างลิงค์สัญลักษณ์ (เหนือสิ่งอื่นใด) รวมเมนูบริบทที่ดี พร้อมใช้งานสำหรับรุ่นล่าสุดของ windows ล่าสุดและปรับปรุงล่าสุด


1

Powershell

ตราบใดที่ Microsoft แนะนำให้ใช้เป็นล่ามคำสั่งตั้งแต่กว่า 5 ปีที่แล้วและcmd.exeกำลังจะกลายเป็นแอปพลิเคชันแบบดั้งเดิมคำถามนี้ไม่มีคำตอบใน Powershell:

New-Item -path ~\Desktop\hosts -itemType SymbolicLink -target c:\Windows\System32\Drivers\etc\hosts

มันทำงานได้เหมือน Powershell v5.0


-2

เปิด Terminal / CMD ภายใต้ android / sdk / tools พิมพ์

เทอร์มินัล ** ln -s emulator64-x86 emulator-x86 ** CMD mklink emulator64-x86 emulator-x86

สิ่งนี้จะถูกสร้างเช่น ..

ลิงก์สัญลักษณ์ที่สร้างขึ้นสำหรับ emulator64-x86 << === >> emulator-x86

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