Benim durumumda, hem kaynak hem de hedef paylaşımlar üzerinde tam kontrol ile başladım. Sorun, Robocopy'nin alt dizinleri yinelemeye başlamadan önce hedef paylaşımdaki ACL'yi sıfır değerine (hiç kimsenin izni yok) sıfırlamasıydı. Bazı hızlı testlerden sonra sonucum Robocopy'nin devralınan izinleri işlemediğidir. Diyelim ki C: \ Share1'i D: \ 'ye kopyalıyorsunuz ve C: \ Share1 izinlerini C: \ root dizininden devralıyor, aslında açık bir ACL'si yok. Bu nedenle, ACL'sini kopyaladığınızda, aslında hiçbir şey kopyalamazsınız. Boş bir EKL'yi hedefinize kopyalayarak kopyanızın ilk adımında izinleriniz kaldırılır ve paylaşıma sonraki tüm yazma işlemleri Hata 5 ile başarısız olur.
Bu, yalnızca devralınan izinlerle WITH eriştiğiniz bir kaynaktan ve devralınan izinler OLMADAN eriştiğiniz bir hedeften kopyalama yaparken bir sorundur. C: \ (açıkça ACL'sine sahip olan) D: \ 'ye kopyalarsanız, sorun yoktur. Bu gerçekten sizin probleminizse, kendinizi tam kontrole sahip kaynak ACL'ye açıkça ekleyerek çözebilirsiniz. Kopyalama çalıştırıldığında, ACL girişiniz hedefe çoğaltılır ve sonraki dosya kopyaları yazılabilir. Kopyalama tamamlandıktan sonra değişikliklerinizi (hem kaynakta hem de hedefte) geri alabilirsiniz.
Yukarıdakilere rağmen sorun yaşamaya devam ederseniz, Yedekleme İşleci olarak ayrıcalıklarınızı kullanarak dosyayı yedeklemeye çalışan / B anahtarını denemeyi düşünebilirsiniz. Bu, örneğin hedef paylaşımınızdaki ACL'de değilseniz, aksi halde yapamayacağınız dosyaları kopyalamanıza olanak tanır. Robocopy varsayılan olarak yeniden başlatılabilir bir kopya girişiminde bulunur. Yeniden başlatılabilir kopyalardan vazgeçerek en kötü durum, bir kesinti durumunda aktarılmakta olan dosyayı kaybetmenizdir. Bir sonraki geçiş, bu dosyayı partway yerine yeniden başlatacak.
Umarım yardımcı olur. İşte Microsoft'un Robocopy belgesinden / B anahtarıyla ilgili bir alıntı:
Alıntı:
NTFS güvenlik bilgilerini (ACL) dosya verileriyle birlikte kopyalarsanız, okuma erişiminiz olan ancak yazma erişiminiz olmayan dosyaları kopyalayabilirsiniz. Böyle bir dosya bir kez kopyalandıktan ve ACL'ler uygulandıktan sonra, dosyayı tekrar kopyalamaya çalıştığınızda “Erişim Reddedildi” hatasıyla karşılaşabilirsiniz. Bu durumda, dosyaları Yedekleme Modunda kopyalamak için / B veya / ZB anahtarını kullanmalısınız.
/ B, yedekleme semantiği olan tüm dosyaları kopyalar (Yedekleme Modu). / ZB ilk olarak dosyaları yeniden başlatılabilir modda (daha fazla esneklik için) kopyalamaya çalışır, ancak bu bir "Erişim Reddedildi" hatasıyla başarısız olursa, Yedekleme Modunu kullanarak kopyayı otomatik olarak yeniden dener.