He estado tratando de hacer lo mismo desde un recurso compartido de red.
SET MoveDirSource=\\Server\Folder
SET MoveDirDestination=Z:\Folder
Aquí están mis hallazgos y la solución de las pruebas en una máquina con Windows 7.
Sugerencia:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E
Problema: mueve la carpeta de origen.
Sugerencia:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOVE /E /XD "%MoveDirSource%"
Problema: todavía mueve la carpeta de origen.
Sugerencia:
ROBOCOPY "%MoveDirSource%" "%MoveDirDestination%" /MOV /E
Problema: deja la estructura de carpetas vacía en la carpeta de origen.
Solución de trabajo:
MKDIR "%MoveDirDestination%"
FOR %%i IN ("%MoveDirSource%\*") DO MOVE /Y "%%i" "%MoveDirDestination%\%%~nxi"
FOR /D %%i IN ("%MoveDirSource%\*") DO ROBOCOPY /MOVE /E "%%i" "%MoveDirDestination%\%%~nxi"
Las primeras dos líneas mueven los archivos de nivel superior, la tercera mueve las carpetas. Tenga en cuenta que el %% doble es para uso en un archivo por lotes, pegar en una línea de comando necesita que estos se cambien a una sola marca de porcentaje.
~ nxi en el destino es una VARIABLE PARA SUSTITUCIÓN (Ver FOR /?) donde ~ nxi representa el nombre y la extensión del elemento que se está pasando actualmente.
Robocopy tiene como valor predeterminado REINTENTAR UN MILLÓN de veces y ESPERAR 30 SEGUNDOS entre cada intento, por lo que es posible que desee agregar / R: 1 / W: 1 a los argumentos de robocopy.