Windows 7 / Symlinks - Bir Symlink'i bir dizine nasıl kopyalarım?


26

Symlink'i Windows 7'deki bir dizine kopyalamak mümkün mü? Bir symlink'd dizinini kopyalamaya çalıştığımda, içeriği derinlemesine konuma kopyalamaya çalışır.

Yanıtlar:


23

Windows Gezgini içinde yapmanın bir yolunu bilmiyorum, ancak xcopykomut satırında / b argümanıyla kullanabilirsiniz, buraya bakın .


1
@Neal Bir cazibe gibi benim için çalıştı. Ben de ekledim /i. SYMLINKS klasörü ile çalıştığınızdan emin olun (kavşaklar değil).
Anton Krouglov,

13

yükseltilmiş komut isteminde aşağıdaki komutu kullanın :

xcopy /b /i <source symlink name> <destination symlink name>

Çıktı 0 Dosya (lar) kopyalandı, buna rağmen sembolik bağlantı hedefte yaratıldı. Bu, Windows 7 ve Windows 8.x altında test edilmiştir ancak Vista’dan başlayarak çalışması gerekir.

GÜNCELLEME: Windows 10'da da çalışır


1
benim için işe yaramıyor, hala fiziksel bir kopyasını yapıyor, bir sembolik kopyasını kopyalamıyor ...
jakub.g 15

1
Benim için çalıştı: 10 x 64, yüksek istemi kazan. Win 2012 R2'de de test edildi. SYMLINKS İLE SIKIŞTIRMAYI KARIŞTIRMADAN EMİN OLUN.
Anton Krouglov,

10

Açıkçası, onları destekleyen bir program kullanın. Örneğin Far Manager , ya bağları link olarak kopyalamamı ya da onları dolaştırıp içeriğini kopyalamamı sağlıyor:

alt metin


Düzeltme, yalnızca yerel bağlanmış klasörler için işe yarıyor . Ağ için sadece xcopy /b /iyardımcı olur.
Anton Krouglov

2

Far Manager, çalışan tek şeydi. Sağol Joey.

Bazı nedenlerden dolayı, Link Shell Extension ya sym linklerini / kavşaklarını kopyalamanın bir yolunu sunmuyor ya da anlayamayacak kadar aptalım. Aç ... menüsünde bulunan her şeyi denedim.

Far Manager ile, diğer pencere bölmesinin hedef klasörünüze geldiğinden emin olduktan sonra arayüzün altındaki Kopyala düğmesine basın. Bu kadar basit!

Tüm Kullanıcı klasörümü kopyaladım! Bazı bağlantılar, uygulama verileri gibi daha sonra düzeltmeniz gerekir. Link Shell Extension'nız varsa, sağ tıklayın ve Link bağlam özellikleri menüsünde yolu değiştirin. Aksi takdirde eski sürücünüzü göstereceklerdir. Uygulama verileri, AppData \ Local ve Temporary Internet Files içindekileri de düzelttiğinizden emin olun. Kopyalamadan önce SAHİBİ OLMAYA dikkat edin!

Ayrıca, bunu başka bir Yönetici profiline giriş yapmış veya başka bir işletim sistemine başlatmış olmanız gerekir. Başka bir işletim sistemine önyükleme yaptıysanız, bağlantıların geçerli işletim sisteminin istediği sürücü harfini değil, hedef işletim sisteminin istediği sürücü harfini gösterdiğinden emin olun. Örneğin, hedef işletim sistemim J: \ users \ Me. Oradaki Junction'larım C: \ users \ Me 'ye işaret ediyor çünkü C: \ önyükleneceğim sürücü harfi. (Evet, şimdi bağlantıların tıklatılması mevcut işletim sisteminizin klasörünü açacaktır. Endişelenmeyin.)

Değiştirmeniz gereken kayıt defteri girdileri var. Buraya bakınız .


Link Shell Extension çalışıyor, ancak talimatlar zaten mevcut olan linklenmiş klasörleri kopyalamak için biraz toplanmış: superuser.com/a/1509670/231129 (Link Shell Extension, bence , sym-linklerinin düzenli bir şekilde oluşturulması için hala almaya değer. , ancak.)
Venryx

1

Ayrıca bunu biraz daha kolaylaştıracak bir kabuk uzantısı buldum.

Bu HowToGeek üzerinde gösterdi oluyor burada

Ve kabuk uzantısına giden bağlantı burada

Maalesef bunu kendim test etme şansım olmadı çünkü bir sunucuda yapmam gerekiyor ve özellikle bir üretim sunucusunda kabuk uzantısı ile uğraşmak istemiyorum - ama bunun yararlı olabileceğini düşündüm.


1

Bu, Windows 10 Pro sürümü kullanılarak yapıldı. Ancak, Windows 7 ve Windows 8'de aynı olduğunu düşünüyorum.

Öncelikle, yönetici olmayan kullanıcı hesabınıza sembolik bağlantılar oluşturma özelliğini ekleyin. Bu, Yerel Güvenlik Politikasında (secpol) "Güvenlik Ayarları> LocalPolicies> Kullanıcı Hakları Ataması> Sembolik bağlantılar oluştur" bölümünde bulunur. Yönetici olmayan kullanıcınızı bu kullanıcı hakları ayarına ekleyerek, sembolik linkler oluşturabilir, sembolik linkler oluşturabilirsiniz, bir link oluşturup kopyalamanız ve dolayısıyla bir link oluşturmanız gerekir.

Sonra bunu bir komut istemi penceresinde yapın:

copy /L sourceLocation targetLocation

Ben görmüyorum /liçinde copyreferans win2008r2 ve win2012r2 atıfta.
ivan_pozdeev

Komut isteminde "yardım kopyala" seçeneğinin / L seçeneğini listelenip listelenmediğine bakın. Windows sunucu sürümleri, Windows 10 ve 8 ile aynı seçenekleri sağlayıp sağlamadığından emin değilim, ancak bir tanesi bunu bekleyebilir.
eug-

0

Bunun için Link Shell Extension kullanabilirsiniz , ancak talimatlar biraz sarstı. (zaten var olan sembolik bağların kopyalanması için)

Talimatlar

  1. "Dış Bağlantı / Sembolik Bağlantı" ayarını "Ekleme" olarak değiştirmek için LSEConfig.exe yardımcı programını kullanın.
  2. Sağ tıklayın ve kopyalamak istediğiniz sym-bağlantılı klasörün ana klasörünü "Bağlantı Kaynağını Seç" i tıklayın .
  3. Sym-bağlantılı klasörü bırakmak istediğiniz yerin ana klasörüne gidin ve "Bırak: Akıllı Kopyala" komutunu çalıştırın.
  4. Geçici üst öğe "kapsayıcı klasörü" hedef / gerçek üst klasör adı için yeniden adlandırın.

Prosedür biraz zor, bu yüzden yerine xcopy veya Far Manager kullanmanızı öneririm. (henüz denemedim, ancak doğrudan / tekli sym-bağlantılı klasör kopyalama için daha ileri olduklarını farz ediyorum)

(Link Shell Extension, buna rağmen, düzenli sym-linkler oluşturmaya çalıştığım için bence hala değer .)

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.