Je dois copier la structure de répertoires d'un disque NTFS local vers un autre (Windows 7+) et conserver les liens durs qui existent dans cette structure de répertoires.
Une solution acceptable serait de remplacer les liens physiques par des liens symboliques (relatifs) avant la copie, mais je ne sais pas non plus si c'est réalisable.
Quelles sont les options ici?
ntfs
symbolic-link
hardlink
Flacon Estus
la source
la source
Réponses:
Outil pour copier des liens matériels sur des partitions de disque séparées
LN - Liens durs de ligne de commande
Commander:
ln --copy x:\dir\dir2 y:\dir\newdir
Ressource: http://schinagl.priv.at/nt/ln/ln.html
Téléchargement: http://schinagl.priv.at/nt/ln/ln.html#contact
Remarque: Il semble que vous venez de télécharger ce logiciel pour votre architecture CPU à partir du fichier ZIP, ainsi que vcredist (Visual C ++ Redistributable) et de l'installer. Il suffit ensuite d'extraire les fichiers et les dossiers du fichier ZIP vers un nouveau dossier quelque part (.eg
C:\Temp
). En ligne de commande, accédez simplement à ce dossier [répertoire], puis exécutez les commandes nécessaires pour vos emplacements de lecteur, comme le montre l'exemple ci-dessus. L'exécutionln --help
affiche les détails de l'aide, mais l'exemple de commande ci-dessus est censé copier lehard links
par la documentation.Extension de Shell de lien
Ressource: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Téléchargement: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact
Sections ou fonctions d'intérêt avec ce logiciel
Smart Mirror
Clone
Smart Copy
ln - Liens de ligne de commande - Télécharger la capture d'écran
Link Shell Extension - Télécharger la capture d'écran
NOTES INTÉRESSANTES
Il semble
hard links
être verrouillé sur la même partition de disque pour leurs pointeurs de fichiers, etc. et ne peut pas être utilisé sur plusieurs partitions. De plus,hard links
sur les partitions NTFS font partie desMaster File Table
enregistrements (ou des attributs pour les nombres au moins), donc les copier sur un disque existant qui a le sienMFT
semblerait être un problème si vous ne clonez pas octet par octet au niveau de la partition au moins.la source
L'utilitaire de ligne de commande
rsync
fait ce que vous demandez.En supposant que vos anciennes données se trouvent à l'emplacement A et que vos nouvelles données se trouvent sur B, procédez comme suit:
Citant du manuel rsync:
Comment l'obtenir
rsync
et l'utiliser? Il existe 2 alternatives simples pour Windows:Première alternative: l'utilisation
cygwin
. C'est un logiciel Windows. Installez-le, ajoutezrsync
à l'étape de sélection des packages. Laissez tout le reste par défaut. Après l'avoir installé, utilisez son shell pour taper la commande. Si vous le souhaitez, vous pouvez utiliser le chemin complet au/usr/bin/rsync
lieu de simplementrsync
. Si vous souhaitez accéder aux lecteurs Windows, utilisez des chemins d'accès tels que "/ cygwin / lecteurs" et essayez toujours de compléter automatiquement à l'aide de TAB.Deuxième alternative: s'il s'agit d'un ordinateur de bureau, utilisez une distribution GNU / Linux en direct. Préparez une image USB en direct, démarrez-la, montez les disques souhaités et appelez rsync. Si l'image en direct n'en a pas
rsync
, installez-la. (apt-get install rsync
dans Debian et ses dérivés.) Si vous n'êtes pas encore familiarisé avec l'écosystème Linux, cygwin pourrait être plus facile.la source
A
c'est un répertoire, alorsB
devrait être le nom que le répertoire prendra sur la cible (contrairementcp
par exemple, où le dernier argument est le répertoire parent)ln
comme indiqué dans une autre réponse. Cygwinrsync
de cette réponse peut également fonctionner, comme je l'ai mentionné.ln --copy
. En ce qui concerne l'interface graphique, je suppose que «Smart Copy» est ce que vous recherchez.Essayez de regarder dans rsync pour Windows. Puisque rsync a une option pour conserver les liens durs (flag -H, --hard-links), il devrait faire le travail (source: https://download.samba.org/pub/rsync/rsync.html ).
Vous pouvez essayer de chercher quelque chose comme cwRsync: https://www.itefix.net/cwrsync# celui-ci a une interface graphique.
la source
Très tard pour la fête ici.
Combattre le feu par le feu. Puisque robocopy a permis le désordre, nous utiliserons également robocopy pour le nettoyer.
Créez un répertoire vide puis utilisez robocopy pour copier le répertoire vide dans la cible (qui a les chemins super longs) en utilisant l'option de purge.
Cela devrait fonctionner.
la source