Mover archivos entre computadoras con la línea de comando (Windows)

Mover archivos entre computadoras con la línea de comando (Windows)

Tengo una máquina virtual que ejecuta XP en la que los archivos se cargan en momentos aleatorios. Necesito un script o utilidad adecuado para la línea de comando, que se ejecute cada X minutos (por ejemplo) yMOVERtodos los archivos cargados en un directorio compartido en una caja Win7.

Ahora, el movecomando de línea de comandos no se ejecuta en unidades, y menos aún en recursos compartidos. (Y da un mensaje súper útil Access denied.)

podría hacer un

copy src desr_share
rm src

...pero aquí está la parte complicada:

Cuando se ejecuta el comando de copia, puede suceder que se cargue un archivo al mismo tiempo. Es copyposible que carguen solo una parte del archivo o que lo omitan por completo y continúen, pero luego, cuando se rminicie, es posible que el archivo se cargue por completo y rmlo borrarán sin que se haya copiado correctamente en el destino.

Entonces necesito algo que tenga la movesemántica (copiar un archivo y eliminarlo solo si tiene éxito), pero que funcione en todas las máquinas.

¿Alguna sugerencia?

PD. No me importa si un archivo se mueve solo parcialmente, siempre y cuando no se elimine. Forzaré la sobrescritura de cualquier archivo de destino y, en la siguiente ejecución, el archivo se cargará nuevamente por completo.

Respuesta1

Mire Robocopy, que es estándar en Win7 y está disponible en un kit de desarrollo de Microsoft para XP.

use robocopy /?(o robocopy /? > drive:\path\robocopy_options.txt) para opciones.

Ventanas 7:

http://technet.microsoft.com/en-us/library/cc733145%28v=ws.10%29.aspx

Windows XP:

http://www.microsoft.com/en-us/download/details.aspx?id=17657#Requirements

información relacionada