Tengo que copiar la estructura de directorios de un disco NTFS local a otro (Windows 7+) y preservar los enlaces duros que existen dentro de esta estructura de directorios.
Una solución aceptable sería reemplazar los enlaces duros con enlaces simbólicos (relativos) antes de la copia, pero tampoco estoy seguro de si es factible.
¿Cuáles son las opciones aquí?
ntfs
symbolic-link
hardlink
Estus Flask
fuente
fuente

Respuestas:
Herramienta para copiar enlaces duros en particiones de disco separadas
LN - Enlaces de línea de comandos
Mando:
ln --copy x:\dir\dir2 y:\dir\newdirRecurso: http://schinagl.priv.at/nt/ln/ln.html
Descargar: http://schinagl.priv.at/nt/ln/ln.html#contact
Nota: Parece que acaba de descargar este software para la arquitectura de su CPU desde el archivo ZIP, así como desde vcredist (Visual C ++ Redistributable) e instálelo. Luego simplemente extraiga los archivos y carpetas del archivo ZIP a una nueva carpeta en algún lugar (.eg
C:\Temp). En la línea de comandos, simplemente vaya a esa carpeta [directorio] y luego ejecute los comandos necesarios para las ubicaciones de su unidad como se muestra en el ejemplo anterior. Ejecutarln --helpmuestra detalles de ayuda, pero se supone que el ejemplo de comando anterior debe copiarhard linkssegún la documentación.Link Shell Extension
Recurso: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Descargar: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact
Secciones o funciones de interés con este software
Smart MirrorCloneSmart Copyln - Enlaces de línea de comandos - Descargar captura de pantalla
Link Shell Extension - Descargar captura de pantalla
NOTAS INTERESANTES
Parece que
hard linksestán bloqueados en la misma partición de disco para sus punteros de archivo, etc. y no se pueden usar en varias particiones. Además,hard linksen NTFS, las particiones son parte de losMaster File Tableregistros (o atributos para los recuentos al menos), por lo que copiarlos en un disco existente que tenga el suyoMFTsería un problema si no clona byte por byte en el nivel de partición al menos.fuente
La utilidad de línea de comandos
rsynchace lo que le pides.Suponiendo que sus datos antiguos están en la ubicación A, y sus datos nuevos están en B, haga lo siguiente:
Citando del manual de rsync:
¿Cómo obtenerlo
rsyncy usarlo? Hay 2 alternativas fáciles para Windows:Primera alternativa: uso
cygwin. Es un software de Windows. Instálelo, agreguersyncen el paso de selección de paquetes. Deje todo lo demás predeterminado. Después de instalarlo, use su shell para escribir el comando. Si lo desea, puede usar la ruta completa, en/usr/bin/rsynclugar de solorsync. Si desea acceder a las unidades de Windows, use rutas como "/ cygwin / drives" y siempre trate de completar automáticamente usando TAB.Segunda alternativa: si se trata de una computadora de escritorio, use una distribución GNU / Linux en vivo. Prepare una imagen USB en vivo, inicie desde ella, monte los discos deseados e invoque rsync. Si la imagen en vivo no tiene
rsync, instálela. (apt-get install rsyncen Debian y sus derivados). Si aún no tiene experiencia con el ecosistema de Linux, cygwin podría ser más fácil.fuente
Aes un directorio, entoncesBdebería ser el nombre que ese directorio tomará en el destino (a diferencia de,cppor ejemplo, donde el último argumento es el directorio padre)lnque se muestra en otra respuesta. Cygwinrsyncde esta respuesta puede funcionar también, como mencioné.ln --copy. En cuanto a la GUI, supongo que 'Smart Copy' es lo que estás buscando.Intenta buscar ventanas en rsync. Dado que rsync tiene una opción para preservar los enlaces duros (flag -H, --hard-links), debería hacer el trabajo (fuente: https://download.samba.org/pub/rsync/rsync.html ).
Puede intentar buscar algo como cwRsync: https://www.itefix.net/cwrsync# este tiene GUI.
fuente
Muy tarde para la fiesta aquí.
Combatir el fuego con fuego. Como robocopy permitió el desorden, también usaremos robocopy para limpiarlo.
Cree un directorio vacío y luego use robocopy para copiar el directorio vacío al destino (que tiene las rutas súper largas) usando la opción de purga.
Eso debería funcionar.
fuente