Herramienta de línea de comandos de Robocopy (viene con la mayoría de las versiones de Windows)
En mi máquina con Windows 10 se encuentra enC:\Windows\System32
Desde Wikipedia , se puede usar con el siguiente conjunto de opciones para conservar las marcas de tiempo de archivos y directorios, así como otros atributos:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
preservar las marcas de tiempo de los directorios originales (requiere la versión XP026 o posterior)
/E
: Copie directorios de forma recursiva, incluidos los directorios vacíos
/R:0
: no vuelva a intentar archivos bloqueados (el número de reintentos en el valor predeterminado de copias fallidas es 1 millón),
/COPYALL
: Copie toda la información del archivo
(equivalente a /COPY:DATSOU
, donde
D
= Datos,
A
= Atributos,
T
= Marcas de tiempo de archivo ,
S
= Seguridad = ACL de NTFS,
O
= Información del propietario,
U
= Información de auditoría),
Si solo desea conservar las marcas de fecha y hora del directorio, pero no desea que se copien subdirectorios vacíos y no desea que se conserven otros atributos, puede usar:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
donde /S
copia subdirectorios no vacíos
Para ver la sintaxis completa, escriba robocopy /?
en el símbolo del sistema o eche un vistazo a estas publicaciones de blog: https://ss64.com/nt/robocopy.html y
https://techjourney.net/robocopy-syntax-command-line -conmutadores-y-ejemplos /
Un ejemplo de un comando que ejecuté recientemente:
Robocopy D:\ C:\D_backup /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Observe cómo excluir 2 subdirectorios requiere que la /XD
bandera se use dos veces. Además, la segunda exclusión de directorio usa comillas porque hay espacios en el nombre del directorio.
Finalmente, puede agregar la /L
bandera para probar el comando antes de hacerlo de verdad. De esta manera, puede verificar que no copiará (ni eliminará) ningún directorio / archivo que no desee y que no haya errores en su comando.
Editar: gotcha al copiar desde un directorio raíz (también conocido como unidad) a una carpeta (directorio no root)
Después de ejecutar el comando de ejemplo anterior, ¡el directorio no estaba visible! (A pesar de que show hidden files
y show system files
se comprobaron en Windows 10!) El siguiente comando como por https://serverfault.com/a/455029/399723 fijo esto:
attrib -h -s C:\D_backup
Alternativamente, agregar /A-:SH
"desarma el atributo oculto de los archivos del sistema", por lo que puede evitar que el directorio se oculte en primer lugar, según https://serverfault.com/a/565804/399723 . Consulte también https://ss64.com/nt/robocopy.html .
Esta discusión arroja más luz sobre esta opción como solución.
Robocopy D:\ C:\D_backup /A-:SH /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Otro software:
Alternativamente, puede descargar una versión GUI de robocopy si no desea usar la línea de comando.
Otra utilidad de Windows es XCopy , aunque está incluida en Windows 10, está en desuso. Vea el enlace para las trampas.
La página de Wikipedia para RoboCopy (vinculada en la parte superior de esta publicación) enumera otro software que se puede utilizar.