Hay una utilidad gratuita de Microsoft que lo hará por usted. Se llama Robocopy. Robocopy es parte del kit de recursos de Windows 2003. Mejor aún, ahora se incluye con Windows Vista, Windows 7 y Windows 2008.
¿Cómo copiar archivos a una unidad de otra, o en el servidor sólo si han cambiado?
Al uso de Robocopy, lo podemos llamar con este conjunto de opciones para copiar todo lo de “c:\origen” a “\\server1\c\destino” incluyendo sub-directorios:
Robocopy c:\origen \\server1\c\destino /e/r:0/w:0
Robocopy se verá en la fecha y hora de cada archivo y si el archivo no ha cambiado, se lo saltará.
Veamos algunas de las opciones de línea de comandos que he utilizado:
/e - Esto le indica que debe incluir sub-carpetas, incluso si están vacías
/r:0 - Volver a intentar en caso de error cero veces. No vuelve a intentar en el ejemplo, pero esta opción es buena en los enlaces WAN fiables y lentos. Puedes configurar el reintento mas alto por lo que mantendrá reiniciar la copia en caso de fallo
/w:0 - El número de segundos de espera entre errores
Lo único que el comando anterior no va a hacer es borrar los archivos en el destino, si se han eliminado en el origen. Puedes hacer esto con la opción de /purge:
Robocopy c:\origen \\server1\c\destino /e/r:0/w:0/purge
Usa esta opción con cuidado! Ten en cuenta que se borrarán los archivos en el destino. Si proporcionas un directorio vacío de el origen, el resultado final será con un directorio vacío en el destino.
Hay un gran número de opciones disponibles en Robocopy que puedes ver con solo escribir Robocopy /? en la línea de comandos.
Esta es una pequeña utilidad muy buena y lo mejor de todo es que es gratis. Recomiendo echarle un vistazo, y estoy seguro que usted puedes encontrar un uso para él.
Si no dispones de un sistema operativo que incluya esta utilidad puedes obtenerla del Kit de Recursos de Windows 2003 que puedes descargar desde aquí.
Aquí queda eso para alguien que necesitaba una utilidad sencilla de sincronización. Véase: Alex.
Comentarios Recientes