Estoy usando robocopy para mover datos. Quiero lograr esto
Datos de archivo de origen IF (más nuevos o iguales) mover / sobrescribir datos Otro archivo de omisión
Necesito un cambio o una forma de excluir datos más nuevos, no más nuevos o mismos . Estoy usando Robocopy para limpiar y mover muchos datos a un gran dispositivo de almacenamiento.
También sería útil una línea para eliminar archivos del origen con la fecha coincidente con el destino
/XO
archivos excluidos Misma fecha o archivos más nuevos en el destino
/XN
archivos excluidos más antiguos en el origen y más nuevos en el destino
Algunos de los datos ya están en esa fuente.
Mi problema que quiero excluir más antiguo no es la misma fecha. Quiero asegurarme de mover (y sobrescribir para que la fuente se limpie) los datos con datos nuevos o iguales que la fuente.
Estoy usando el /XO
interruptor
/ XO: eXclude Older - si el archivo de destino existe y es la misma fecha o más reciente que la fuente - no se moleste en sobrescribirlo.
El problema es que también quiero mover los mismos datos de fecha, no solo los más nuevos. ¿Hay una manera de hacerlo?
fuente
Respuestas:
Para completar esto, use Robocopy con el ejemplo de secuencia de comandos por lotes que proporcioné debajo de la sintaxis y todo.
Dado que, de forma predeterminada, Robocopy solo copiará un archivo si el origen y el destino tienen marcas de tiempo diferentes o tamaños de archivo diferentes, debe usar el
/IS
interruptor para que también copie los mismos datos, y luego, si usa el/MOVE
interruptor, ' También eliminaré esos archivos y carpetas de la fuente.Opciones de Robocopy utilizadas
(Utilicé estos interruptores en particular, pero debe probar para confirmar que todo funciona como se esperaba por si acaso).
Para las siguientes variables de:
SET SRCRoot="\\Server\Share\Source"
SET DESTRoot="\\Server\Share\Destination"
Los
SET SRCRoot
ySET DESTRoot
son los directorios raíz \ padre que copiará desde y hacia el nivel superior de forma recursiva. Puede configurar cualquiera de estos en una ruta de letra de unidad (por ejemploC:\Path
) o puede mantenerla como ruta UNC (es decir\\server\share\folder
) y funcionará de cualquier manera.SET LOG=C:Path\Log.txt
Este
SET LOG
es el nombre y la ubicación del archivo de registro adjunto También puede apuntar a una ruta completa de la unidad o una ruta UNC. Este es el archivo que puede revisar para obtener todos los detalles de lo que se copió, lo que no, los mensajes de error, etc. Esto es estrictamente opcional, pero sugeriría usarlo siempre y revisarlo según sea necesario para la resolución de problemas o la confirmación.Ejemplo de script de lote de Robocopy
Si necesita copiar también la seguridad a nivel de archivo de los archivos y la carpeta que copia al origen desde el destino (las ACL), avíseme ya que probablemente quiera incluir los
/SEC
o/COPYALL
swithces.Interruptores Robocoy opcionales
(Si necesita alguno de estos, hágamelo saber y estaré encantado de actualizar mi respuesta si necesita un ejemplo que incluya alguno)
Programación para automatización desatendida
Consulte mi respuesta Tareas programadas para ver las opciones, las trampas, etc. que desea seleccionar al programar un script por lotes con el Programador de tareas para que se ejecute como se espera. Se proporcionan capturas de pantalla y todo, y siéntase libre de votar esa respuesta si lo encuentra útil y valioso como tal, sin presión, solo un recurso adicional que puede encontrar útil.
Recursos adicionales y lectura
fuente
/IS
interruptor y actualicé mi respuesta una vez más. Léalo desde arriba para ver los cambios y las notas, creo que esto lo ayudará, pero hágamelo saber de cualquier manera. Si desea incluir subcarpetas vacías desde el origen hasta el destino, hágamelo saber y agregaré el/E
y sacaré el/S
.