Eu tenho tentado fazer o mesmo de um compartilhamento de rede.
SET MoveDirSource=\\Server\Folder
SET MoveDirDestination=Z:\Folder
Aqui estão minhas descobertas e soluções dos testes em uma máquina Windows 7.
Sugestão:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E
Problema: Move a pasta de origem.
Sugestão:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E /XD "%MoveDirSource%"
Problema: Ainda move a pasta de origem.
Sugestão:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOV /E
Problema: Deixa a estrutura da pasta vazia para trás na pasta de origem.
Solução de trabalho:
MKDIR "%MoveDirDestination%"
FOR %%i IN ("%MoveDirSource%\*") DO MOVE /Y "%%i" "%MoveDirDestination%\%%~nxi"
FOR /D %%i IN ("%MoveDirSource%\*") DO ROBOCOPY /MOVE /E "%%i" "%MoveDirDestination%\%%~nxi"
As duas primeiras linhas movem os arquivos de nível superior; a terceira, as pastas. Observe que o %% duplo é para uso em um arquivo em lotes. A colagem em uma linha de comando precisa que estes sejam alterados para uma única marca de porcentagem.
~ nxi no destino é uma VARIÁVEL PARA SUBSTITUIÇÃO FOR (consulte FOR /?) em que ~ nxi representa o nome e a extensão do item que está sendo repetido no momento.
O padrão da robocópia é RETRY A Million times e WAIT 30 SECONDS entre cada tentativa, portanto, você pode adicionar / R: 1 / W: 1 aos argumentos da robocopy.