Windows'da sembolik bir bağlantıyı nasıl oluşturabilirim?


113

Windows Vista, dosyalara ve dizinlere sembolik bağlantılar oluşturma özelliğini ekledi. Sembolik bir bağlantıyı nasıl oluşturabilirim ve Windows'un desteklediği mevcut tüketici ve sunucu sürümleri nelerdir?


6
Birisi sembolik bir bağlantı ile kısayol arasındaki farkları vurgulayabilir mi?
tomjedrz

1
@tomjedrz: kısayol kullanıyorsanız, bu kısayolu açmak için herhangi bir API hedef dosya / klasörün yolunu içeren bir metin dosyasını açacaktır. Eğer bağlantılar kullanıyorsanız, o bağlantıyı açmak için herhangi bir API hedef dosyayı / klasörü açacaktır.
Afriza N. Arief

2
Tüm insanların söylediklerinin aksine , Windows XP'de sembolik bağlantılar kullanmanın mümkün olduğunu onaylıyorum . (Picasa veritabanını VM paylaşılan klasörüne yüklemek için kullanıyorum). Schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html dosyasına bir göz atın ve "Windows XP için sembolik bağlantılar" bölümüne gidin. HTH
Adam Ryczkowski

Yanıtlar:


109

Komut satırı yardımcı programıyla sembolik bir bağlantı oluşturabilirsiniz 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 üzerinden sembolik bağlantılar, Windows Vista ve Windows Server 2008'den beri mevcuttur. Windows XP ve Windows Server 2003'te kullanabilirsiniz.

fsutil hardlink create <destination filename> <source filename>

Msdn.microsoft'a göre , Sembolik Bağlantılar FAT16 / 32 ve exFAT'de desteklenmez. Görünen o ki, Windows onları sadece NTFS-Partitions'tan veya NTFS'den desteklemektedir. Gelecekteki Windows işletim sistemlerinin mklink desteğini sürdürme olasılığı yüksektir.

Bu yeni özellik hakkında daha fazla bilgiyi Microsoft TechNet , Junfeng Zhang'ın blogunda veya howtogeek.com adresinde okuyabilirsiniz .


Giriş bilgilerinizin eksiksiz olması için David'in Technet URL'sini eklemek güzel olurdu.
Michael Pryor

site notu, juntion (/ J seçeneği) nedir?
Roy Rico

Bir Dizin Kavşağı, bir tür dizin sembolik bağlantısı. support.microsoft.com/?kbid=205524
Lara Dougan

1
NTFS, Windows 2000'den bu yana bağlantıları (çeşitli adlarla) desteklemektedir, ancak yalnızca dahili olarak, özellikle de SYSVOL alan paylaşımlarında kullanılmıştır; bazı programlar onları yönetmek için mevcuttu, ancak yerleşik değillerdi; Vista, MKLINK aracını ve varsayılan Windows kurulumlarında bağlantıların kapsamlı kullanımını tanıttı.
Massimo

2
fsutilWindows Server 2003 için bir çözüm sağlamak üzere @
sascha'nın

30

Windows XP'de fsutilbir hardlink oluşturmak için (işletim sistemi içine yerleştirilmiş) kullanabilirsiniz.

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

Fsutil'in sadece ikisi de aynı sürücüdeyse işe yarayacağını unutmayın.


2
İyi cevap. WinXP / Win2003'deyim ve mklink gerekliydi, ancak bu benim için sorunumu çözdü. Genellikle sysinternals
junction.exe

Ne yazık ki, en azından başka bir yerde okuduklarımdan, sembolik bir bağlantı fsutil tarafından oluşturulamıyor. Bu zor bir bağlantıdır ve dolayısıyla sorunun cevabı değildir.
Vlasec

10

Küçük bir şey, eğer Powershell kullanıyorsanız, mklink doğrudan çalışmaz, şöyle çalıştırın:

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

1
Bu / c olmalı, / k olmamalı, aksi takdirde cmd.exe çıkmaz.
dang

7

Sysinternals ( mk ) ' den mklink veya birleşim kullanın . Ben inanıyorum mklink Windows 2000 ve yukarıdaki çalışacak, ama bu konuda herhangi bir sabit belgelere bulamıyor. kavşak , Windows 2000 ve üstü içindir.


1
Mklink komutu Vista ve Server 2008'dir ve yalnızca yukarıda belirtildiği gibi çalışır.

4

Bunu cevapların hiçbirinde görmedim, ancak linkd.exe ( burada Windows 2003 Kaynak setinde ) Linux'ta yumuşak / sabit bir bağlantının yaptığı gibi hemen hemen işlev yapan kavşaklar oluşturmanıza olanak tanır. Kavşaklar Windows 2000 ve üstü sürümlerde mevcuttur, bu nedenle linkd.exe dosyasını hedef sisteme kopyalayın ve çalışması gerekir.


1
`/ Linkd` 'nin sadece dizinler için olduğunu, dosya için olmadığını unutmayın.
Phrogz

3

Hala eski Windows kullanıyorsanız, XP, 2000, 2003 vb. Gibi NTFS Link'i deneyin .

Onu çok kullanırım. Bir kavşak noktası oluşturmak için sağ tıklayıp menü seçeneğini tıkladığınızda bir kabuk bağlantısı elde edersiniz. Mükemmel şeyler.


Bu, benim için Windows 2003'te başka bir sürücüdeki bir klasöre sembolik bir bağlantı oluşturmak için çok çalıştı. Teşekkürler!
Phil

Anonim kullanıcıdan Comment, aslen cevap içine düzenlendi: "Not: XP çalışması için, o, FAT veya FAT32 değil NTFS bölümünü kullanarak zorundadır bakın. Aumha.org/win5/a/ntfscvt.php nasıl adımları için NTFS'ye dönüştür. "
squillman

2

TechNet girişine bakınız . Vista / Server 2008 ve üstü bir özellik olduğuna inanıyorum.


Cool, bu özellik hakkında daha önce hiç bilinmeyen, bağlantı için teşekkürler, çok faydalı olabilir !!!
Marc-Andre R.

1

Bağlantılarınızın çalıştığından emin olmak için sunucunuzun yapılandırmasını kontrol etmek isteyebilirsiniz. Linkler yapılabilir, ancak aşağıdaki komuttaki sembolik bağlantı ayarını kullanmadığınız sürece linkleriniz çalışmayabilir.

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

Ayrıca bkz . Http://technet.microsoft.com/en-us/library/cc754077%28v=ws.10%29.aspx . Varsayılan olarak sadece yerel seçenekler etkindir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.