Aynı şeyi bir ağ paylaşımından da yapmaya çalışıyorum.
SET MoveDirSource=\\Server\Folder
SET MoveDirDestination=Z:\Folder
İşte bulgularım ve bir Windows 7 makinesindeki testlerden çıkan çözüm.
Öneri:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E
Sorun: Kaynak klasörü taşır.
Öneri:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E /XD "%MoveDirSource%"
Sorun: Hala kaynak klasörü taşıyor.
Öneri:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOV /E
Sorun: Kaynak klasörde boş klasör yapısını geride bırakır.
Çalışma çözümü:
MKDIR "%MoveDirDestination%"
FOR %%i IN ("%MoveDirSource%\*") DO MOVE /Y "%%i" "%MoveDirDestination%\%%~nxi"
FOR /D %%i IN ("%MoveDirSource%\*") DO ROBOCOPY /MOVE /E "%%i" "%MoveDirDestination%\%%~nxi"
İlk iki satır üst seviye dosyaları, üçüncü klasörleri taşır. %% çiftinin bir toplu iş dosyasında kullanım içindir, komut satırına yapıştırmanın bunların tek bir yüzde işaretine dönüştürülmesi gerektiğini unutmayın.
Hedefdeki ~ nxi bir FOR ORTAK DEĞİŞİM (VARIABLE) (Bkz. FOR /?). Burada ~ nxi, o sırada çevrilmiş olan öğenin adını ve uzantısını temsil eder.
Robocopy varsayılan olarak MİLYON RETRY kez ve her deneme arasında 30 İKİNCİ BEKLEYİN, bu nedenle robokopi argümanlarına / R: 1 / W: 1 eklemek isteyebilirsiniz .