Bagaimana cara membuat tautan simbolis di Windows?

113

Windows Vista menambahkan kemampuan untuk membuat tautan simbolis ke file dan direktori. Bagaimana cara membuat tautan simbolis dan apa versi konsumen dan server Windows saat ini yang mendukungnya?

cowgod
sumber
6
Dapatkah seseorang menyoroti perbedaan antara tautan simbolik dan pintasan?
tomjedrz
1
@tomjedrz: jika Anda menggunakan pintasan, API apa pun untuk membuka pintasan itu akan membuka file teks yang berisi path ke file / folder target. jika Anda menggunakan tautan, API apa pun untuk membuka tautan itu akan membuka file / folder target.
Afriza N. Arief
2
Berlawanan dengan apa yang dikatakan semua orang, saya mengkonfirmasi bahwa mungkin untuk menggunakan tautan simbolik di Windows XP . (Saya menggunakannya untuk menginstal basis data Picasa pada folder bersama VM). Lihatlah schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html dan arahkan ke bagian "Tautan simbolik untuk Windows XP". HTH
Adam Ryczkowski

Jawaban:

109

Anda dapat membuat tautan simbolis dengan utilitas baris perintah 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.

Tautan simbolik melalui mklink tersedia sejak Windows Vista dan Windows Server 2008. Pada Windows XP dan Windows Server 2003 Anda dapat menggunakan

fsutil hardlink create <destination filename> <source filename>

Menurut msdn.microsoft , Tautan Simbol TIDAK didukung pada FAT16 / 32 dan exFAT. Tampaknya Windows hanya mendukungnya dari atau ke Partisi-NTFS. Sistem operasi Windows di masa depan cenderung melanjutkan dukungan untuk mklink.

Anda dapat membaca informasi lebih lanjut tentang fitur baru ini di Microsoft TechNet , blog Junfeng Zhang, atau howtogeek.com .

cowgod
sumber
Akan menyenangkan untuk menambahkan url Technet David ke entri Anda untuk kelengkapan.
Michael Pryor
catatan situs, apa itu juntion (/ opsi J)?
Roy Rico
Direktori Persimpangan jenis tautan simbolik direktori. support.microsoft.com/?kbid=205524
Lara Dougan
1
NTFS telah mendukung tautan (dengan berbagai nama) sejak Windows 2000, tetapi mereka hanya digunakan secara internal, terutama di bagian domain SYSVOL; beberapa utilitas tersedia untuk mengelolanya, tetapi tidak terintegrasi; Vista memperkenalkan alat MKLINK dan penggunaan tautan yang luas pada instalasi Windows standar.
Massimo
2
Akan menyenangkan untuk menyebutkan fsutildari jawaban @ sascha di bawah ini untuk memberikan solusi untuk Windows Server 2003.
Phrogz
30

Pada Windows XP Anda dapat menggunakan fsutil(dibangun ke dalam OS) untuk membuat hardlink

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

Perlu diingat fsutil hanya akan berfungsi jika keduanya berada di drive yang sama

saschabeaumont
sumber
2
Jawaban yang bagus. Saya menggunakan WinXP / Win2003 dan membutuhkan mklink, tetapi ini memecahkan masalah saya untuk saya. Saya biasanya menggunakan junction.exe dari sysinternals, tetapi itu hanya menangani direktori dan dalam hal ini saya memerlukan tautan file
s3v1
Sayang sekali tautan simbolis tidak dapat dibuat oleh fsutil, setidaknya dari apa yang saya baca di tempat lain. Ini adalah tautan yang sulit dan karenanya bukan jawaban untuk pertanyaan itu.
Vlasec
10

Satu hal kecil, jika Anda menggunakan Powershell, mklink tidak berfungsi secara langsung, jalankan seperti ini:

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
symbolic link created for antRunner <<===>> 3.4.2
Dennis Williamson
sumber
1
Itu seharusnya / c, bukan / k, jika tidak cmd.exe tidak akan keluar.
dangph
7

Gunakan mklink atau persimpangan dari Sysinternals (Microsoft). Saya percaya mklink akan berfungsi di Windows 2000 dan di atas, tetapi saya tidak dapat menemukan dokumentasi keras tentang itu. persimpangan adalah untuk Windows 2000 dan di atasnya.

pengguna2287
sumber
1
Perintah mklink adalah Vista dan Server 2008 dan lebih tinggi, seperti yang saya tunjukkan di atas.
4

Tidak melihat ini di salah satu jawaban, tetapi linkd.exe (di Windows 2003 Resource kit di sini ) memungkinkan Anda untuk membuat persimpangan, yang cukup banyak berfungsi sebagai tautan lunak / keras di Linux. Persimpangan tersedia dari Windows 2000 dan yang lebih tinggi, jadi cukup salin linkd.exe ke sistem target dan itu akan berfungsi.

romansa
sumber
1
Perhatikan bahwa `/ linkd` hanya untuk direktori, bukan file.
Phrogz
3

Jika Anda masih menggunakan Windows lama, seperti XP, 2000, 2003, dll., Coba NTFS Link .

Saya sering menggunakannya. Anda mendapatkan opsi menu klik kanan tautan shell untuk membuat titik persimpangan. Hal yang sangat baik.

Stewart Robinson
sumber
Ini berfungsi baik bagi saya di Windows 2003 untuk membuat tautan simbolis ke folder di drive lain. Terima kasih!
Phil
Komentar dari pengguna anonim, awalnya diedit menjadi jawaban: "Catatan: Agar XP berfungsi, ia harus menggunakan partisi NTFS, bukan FAT atau FAT32. Lihat aumha.org/win5/a/ntfscvt.php untuk langkah-langkah tentang cara dikonversi ke NTFS. "
squillman
2

Lihat entri TechNet . Saya percaya ini adalah fitur Vista / Server 2008 dan lebih baru.


sumber
Keren, tidak pernah tahu tentang fitur ini sebelumnya, terima kasih atas tautannya, bisa sangat berguna !!!
Marc-Andre R.
1

Untuk memastikan tautan Anda berfungsi, Anda mungkin ingin memeriksa konfigurasi server Anda. Tautan dapat dibuat tetapi kecuali jika Anda menggunakan pengaturan evaluasi tautan dalam perintah berikut, tautan Anda mungkin tidak berfungsi.

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

Lihat juga http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx . Secara default hanya opsi lokal yang diaktifkan.

pengguna906489
sumber