Robocopy reemplaza el mismo movimiento de archivo de fecha
Datos de archivo de origen IF (más nuevos o iguales) mover / sobrescribir datos Otro archivo de omisión
Para completar esto, use Robocopy con el ejemplo de secuencia de comandos por lotes que proporcioné debajo de la sintaxis y todo.
Solo quiero excluir mayores no 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.
El problema es que también quiero mover los mismos datos de fecha, no solo los más nuevos.
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).
/S : Copy Subfolders, but not empty ones.
/NP : No Progress - don’t display % copied. (for cleaner log file)
/R:n : Number of Retries on failed copies - default is 1 million.
/MOVE : Move files and dirs (delete from source after copying).
/IS : Include Same, overwrite files even if they are already the same.
/TS : Include Source file Time Stamps in the output. (for log file)
/FP : Include Full Pathname of files in the output. (for log file)
/LOG+:file : Output status to LOG file (append to existing log).
Para las siguientes variables de:
SET SRCRoot="\\Server\Share\Source"
SET DESTRoot="\\Server\Share\Destination"
Los SET SRCRoot
y SET 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 ejemplo C:\Path
) o puede mantenerla como ruta UNC (es decir \\server\share\folder
) y funcionará de cualquier manera.
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.
@ECHO ON
SET SRCRoot="\\Server\Share\Source"
SET DESTRoot="\\Server\Share\Destination"
SET LOG=C:Path\Log.txt
:: --// Robocopy Options
:::: --// If you do not want a log file, remove the "/LOG+:%LOG%" below
SET OPT=/MOVE /IS /S /NP /R:5 /LOG+:%Log% /TS /FP
SET CMD=Robocopy "%SRCRoot%" "%DESTRoot%" *.* %OPT%
%CMD%
EXIT /B
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)
/E : Copy Subfolders, including Empty Subfolders.
/SEC : Copy files with SECurity (equivalent to /COPY:DATS).
/DCOPY:T : Copy Directory Timestamps.
/COPYALL : Copy ALL file info (equivalent to /COPY:DATSOU)
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