Cuando migras archivos a OneDrive for Business mediante una herramienta de terceros o una operación manual de copiar y pegar, las fechas de modificación originales a menudo cambian a la fecha de migración. Este comportamiento rompe el seguimiento de versiones de archivos, confunde a los miembros del equipo que dependen de las marcas de tiempo y puede causar problemas de cumplimiento de auditoría. La causa raíz es que el proceso de migración o el método de copia no conserva la marca de tiempo de última modificación almacenada en los metadatos del sistema de archivos. Este artículo explica por qué se pierden las fechas de modificación, proporciona una solución confiable paso a paso utilizando las herramientas integradas de Windows y PowerShell, y muestra cómo verificar que las fechas se conserven correctamente.
Conclusiones clave: Preservar las fechas de modificación durante la migración a OneDrive
- Windows PowerShell
Copy-Itemcon los modificadores-Forcey-PassThru: Copia archivos conservando las marcas de tiempo originales cuando se usa con las rutas de origen y destino correctas. robocopycomando con las banderas/COPY:DATSOy/DCOPY:T: Copia datos de archivo, atributos, marcas de tiempo, información de seguridad y propiedad, conservando las marcas de tiempo de las carpetas.- Cliente de sincronización de OneDrive versión 19.222.1110.0006 o posterior: Requerido para aceptar archivos con marcas de tiempo originales cuando se colocan directamente en la carpeta de OneDrive en la máquina local.
Por qué los archivos migrados de OneDrive pierden sus fechas de modificación originales
Cuando arrastras y sueltas archivos desde una unidad externa o usas una herramienta de migración que no copia explícitamente las marcas de tiempo de los archivos, Windows asigna la fecha y hora actuales como la nueva fecha de modificación. OneDrive for Business sincroniza el archivo a la nube y luego propaga esta nueva marca de tiempo a todos los dispositivos sincronizados. La fecha de modificación original se sobrescribe permanentemente porque el sistema de archivos ve la operación de copia como un evento de creación de nuevo archivo.
El cliente de sincronización de OneDrive en sí no altera las marcas de tiempo durante una carga normal. El problema se origina en el método que usas para llevar los archivos a la carpeta de OneDrive. Los culpables comunes incluyen:
- Usar arrastrar y soltar del Explorador de archivos desde una unidad de red o disco duro externo
- Usar una herramienta de migración de terceros que no incluya la preservación de marcas de tiempo en su conjunto de características
- Usar la interfaz de carga del navegador web de OneDrive, que siempre establece la fecha de modificación a la hora de carga
La solución requiere usar una herramienta de línea de comandos diseñada para copiar metadatos de archivos, específicamente la marca de tiempo de última modificación, y luego colocar esos archivos dentro de la carpeta local de OneDrive para que el cliente de sincronización los cargue con las fechas correctas.
Pasos para restaurar las fechas de modificación originales en archivos migrados de OneDrive
El siguiente método usa el comando robocopy, que está integrado en Windows 10 y Windows 11. Copia archivos desde tu ubicación de origen a tu carpeta local de OneDrive conservando todas las marcas de tiempo. Después de que la copia se complete, OneDrive sincroniza los archivos a la nube sin cambiar las fechas.
- Abrir Windows PowerShell o Símbolo del sistema como administrador
Presiona la tecla de Windows, escribe PowerShell, haz clic derecho en Windows PowerShell y selecciona Ejecutar como administrador. Haz clic en Sí si el Control de cuentas de usuario lo solicita. - Identifica la ruta de la carpeta de origen
Abre el Explorador de archivos y navega a la carpeta que contiene tus archivos migrados originales. Haz clic en la barra de direcciones y copia la ruta completa. Por ejemplo:D:\MigrationBackup\ProjectFiles - Identifica la ruta de tu carpeta local de OneDrive
En el Explorador de archivos, localiza tu carpeta de OneDrive. La ruta predeterminada esC:\Users\YourUserName\OneDrive - YourCompanyName. Haz clic en la barra de direcciones y copia la ruta completa. - Ejecuta el comando robocopy con las banderas de preservación de marcas de tiempo
En la ventana de PowerShell, escribe el siguiente comando y presiona Enter:robocopy "D:\MigrationBackup\ProjectFiles" "C:\Users\YourUserName\OneDrive - YourCompanyName\ProjectFiles" /E /COPY:DATSO /DCOPY:T /R:3 /W:5
Reemplaza las rutas de origen y destino con tus carpetas reales. La bandera/Ecopia todas las subcarpetas, incluidas las vacías. La bandera/COPY:DATSOcopia Datos, Atributos, Marcas de tiempo, Seguridad (permisos NTFS) y Propiedad. La bandera/DCOPY:Tcopia las marcas de tiempo de las carpetas. - Espera a que robocopy se complete y revisa el registro
robocopy mostrará un resumen con el número de archivos copiados, omitidos y cualquier error. Verifica que el conteo de Archivos copiados coincida con tus expectativas. Si ves errores, anota las rutas de los archivos y verifica problemas de permisos o longitud de ruta. - Permite que OneDrive sincronice los nuevos archivos
Abre el cliente de sincronización de OneDrive haciendo clic en el icono de nube de OneDrive en la bandeja del sistema. El proceso de sincronización comenzará automáticamente. Espera a que el estado muestre Al día. - Verifica las fechas de modificación en OneDrive en línea
Abre un navegador web, ve aonedrive.live.come inicia sesión con tu cuenta de trabajo o escuela. Navega a la carpeta que acabas de copiar. Haz clic derecho en un archivo y selecciona Detalles. La fecha de Modificado debe coincidir con la marca de tiempo original de tu carpeta de origen.
Si OneDrive aún muestra las fechas de modificación incorrectas después de la migración
OneDrive actualizó la marca de tiempo después de la sincronización
Si verificaste que los archivos locales tienen las marcas de tiempo correctas pero OneDrive en línea aún muestra la fecha de migración, el cliente de sincronización puede haber cargado los archivos antes de que ejecutaras robocopy. En este caso, elimina los archivos de OneDrive en línea y luego vuelve a ejecutar el comando robocopy en la misma carpeta local. OneDrive volverá a cargar los archivos con las marcas de tiempo preservadas.
robocopy muestra errores de acceso denegado para algunos archivos
Si robocopy informa errores de acceso denegado, los archivos de origen pueden tener permisos NTFS restrictivos. Ejecuta el comando con la bandera /B para copiar en modo de respaldo, que omite los permisos de archivo. El comando completo se convierte en:robocopy "source" "destination" /E /COPY:DATSO /DCOPY:T /B /R:3 /W:5
Los archivos son demasiado grandes o las rutas son demasiado largas para robocopy
robocopy admite rutas de archivo largas de forma nativa en Windows 10 versión 1607 y posteriores. Si encuentras errores de Ruta demasiado larga, habilita el soporte de rutas largas en la Directiva de grupo de Windows. Abre Editor de directivas de grupo local, navega a Configuración del equipo > Plantillas administrativas > Sistema > Sistema de archivos, habilita Habilitar rutas largas de Win32 y reinicia tu computadora. Luego vuelve a ejecutar el comando robocopy.
Robocopy vs PowerShell Copy-Item para la preservación de marcas de tiempo
| Elemento | Robocopy | PowerShell Copy-Item |
|---|---|---|
| Preservación de marcas de tiempo | Preserva las marcas de tiempo de modificación, creación y acceso con /COPY:DAT |
No preserva las marcas de tiempo de forma predeterminada; requiere scripting adicional |
| Preservación de marcas de tiempo de carpetas | Compatible con /DCOPY:T |
No compatible de forma nativa |
| Seguridad y propiedad | Copia permisos NTFS y propiedad con /COPY:DATSO |
No copia seguridad ni propiedad |
| Capacidad de reanudación en caso de fallo | Integrada con banderas /Z o /B |
No integrada; requiere manejo de errores personalizado |
| Mejor caso de uso | Migraciones grandes con muchos archivos y subcarpetas | Copia simple de un solo archivo donde las marcas de tiempo no son críticas |
Ahora tienes un método funcional para migrar archivos a OneDrive for Business sin perder las fechas de modificación. Para futuras migraciones, usa siempre robocopy con las banderas /COPY:DATSO y /DCOPY:T en lugar de arrastrar y soltar. Para automatizar este proceso en migraciones recurrentes, guarda el comando robocopy como un archivo por lotes y prográmalo con el Programador de tareas. Este enfoque asegura que las marcas de tiempo de tus archivos permanezcan precisas para el seguimiento de versiones y las auditorías de cumplimiento.