Próbowałem zrobić to samo z udziału sieciowego.
SET MoveDirSource=\\Server\Folder
SET MoveDirDestination=Z:\Folder
Oto moje ustalenia i rozwiązania z testów na komputerze z systemem Windows 7.
Sugestia:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E
Problem: Przenosi folder źródłowy.
Sugestia:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E /XD "%MoveDirSource%"
Problem: Nadal przenosi folder źródłowy.
Sugestia:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOV /E
Problem: Pozostawia pustą strukturę folderów w folderze źródłowym.
Rozwiązanie robocze:
MKDIR "%MoveDirDestination%"
FOR %%i IN ("%MoveDirSource%\*") DO MOVE /Y "%%i" "%MoveDirDestination%\%%~nxi"
FOR /D %%i IN ("%MoveDirSource%\*") DO ROBOCOPY /MOVE /E "%%i" "%MoveDirDestination%\%%~nxi"
Pierwsze dwie linie przenoszą pliki najwyższego poziomu, trzecia przenosi foldery. Zauważ, że podwójny %% jest przeznaczony do użycia w pliku wsadowym, wklejenie do wiersza poleceń wymaga ich zmiany na pojedynczy znak procentowy.
~ nxi w miejscu docelowym to ZMIENNA DO SUBSTYTUCJI (patrz FOR /?), gdzie ~ nxi reprezentuje nazwę i rozszerzenie elementu, który jest obecnie zapętlony.
Domyślnie Robocopy RETRY A MILION razy i CZEKAJ 30 SEKUND między każdą próbą, więc możesz chcieć dodać / R: 1 / W: 1 do argumentów robocopy.