Comment conserver les attributs de fichier lorsque vous copiez des fichiers dans Windows?

Sur Linux, nous pouvons tout simplement faire:

cp -pr directory

Comment faire cela dans Windows? Est-ce possible dans Windows Explorer? Des suggestions d'outils GUI?

Ce serait le meilleur si je peux conserver les autorisations NTFS et la création / modification / temps d'accès. Au minimum, je dois conserver la date de modification des fichiers et des répertoires. La copie de l'Explorateur Windows ne conserve pas la date de modification des répertoires.

Il n'y a pas de moyen simple de le faire dans Windows. Il existe des programmes serveurs qui prétendent conserver la date de création des fichiers.
Voici quelques programmes qui pourraient faire le tour http://forum.soft32.com/windows/preserve-creation-date-Copy-ftopict361820.html

En utilisant simplement l'explorateur Windows, ce n'est pas possible. Si vous consultez la documentation de CopyFile ( http://msdn.microsoft.com/en-us/library/aa363851%28VS.85%29.aspx ), vous verrez que cela indique:
Cet article devrait documenter la sémantique en ce qui a trait à la création / modification / accès des fichiers.

Temps de création: si le fichier cible existe déjà, son temps de création est conservé, sinon il est défini sur l'heure système actuelle.
Dernier temps de modification: toujours copié à partir de l'heure de modification du fichier source.
Dernier temps d'accès: toujours réglé sur l'heure système actuelle.

RoboCopy peut conserver le mtime pour les répertoires avec le commutateur / DCOPY: T, mais cela ne fonctionne que dans Vista et plus récent. Il peut également préserver les ACL. Alternativement, FastCopy peut être configuré pour préserver le répertoire mtimes, ACL et ADSes .

… ou vous pouvez simplement créer une archive zip (avec la méthode de compression configurée uniquement pour "stocker"), puis décompressez les fichiers dans lesquels vous souhaitez les copier. Les attributs date / heure sont identiques aux fichiers originaux.

Synchronisez-le! 3.5 conserve tous les horodateurs (fichiers et dossiers, modification et création). C'est le seul logiciel que je connaisse sur Windows XP, ce qui fait cela sans problème, à côté de Robocopy, et j'ai essayé beaucoup. Attention, il peut produire des fichiers corrompus avec des fichiers source téléchargés à l'aide d'un logiciel comme FlashGet ou Orbit Downloader (les fichiers résultants ont la même taille, mais seulement 25 Ko sont effectivement copiés – le reste est rempli de zéros). J'ai demandé au créateur du logiciel s'il pouvait comprendre pourquoi, mais il n'avait aucune idée; Je suppose qu'il s'agit de logiciels de téléchargement de fichiers dans de petits paquets (destinés à optimiser la vitesse) et ma partition de données étant extrêmement fragmentée.

Robocopy XP026 est effectivement inclus dans Windows Vista, mais fonctionne sur Windows XP. Recherchez "Robocopy XP026", ou je peux envoyer le fichier ici car il n'est pas très facile à trouver. Ou vous pouvez installer Robocopy GUI, puis rechercher le fichier robocopy.exe dans le dossier System32, afin de l'utiliser à partir de la ligne de commande. Le fichier que j'ai est 208 kB et le numéro de version est 5.1.2600.26.

Il semble y avoir un bug avec le "mode de sauvegarde", cependant:

http://msmvps.com/blogs/martinzugec/archive/2008/03/03/ugly-bug-in-robocopy-ignoring-security-on-file-level.aspx

Robocopy version XP027 apparemment n'a plus ce bug mais cela ne fonctionne pas sur Windows XP.

RoboCopy devrait pouvoir le faire avec le commutateur COPYALL. Vous pouvez saisir la version GUI de Microsoft Technet .

Il est simple de déplacer des dossiers et des répertoires et de conserver la Date de Création. Maintenez simplement Shift et faites glisser le dossier vers le nouvel emplacement (commande de déplacement). Date de modification sera la date actuelle, mais Date de création conservera la date d'origine.

FastCopy peut le faire et c'est gratuit.

 xcopy *.* C:\temp\Pics /c /d /e /h /i /k /q /r /s /x /y 

Je ne sais pas quel interrupteur maintient la date du fichier, mais cela fonctionne. Ensuite, je ferme le répertoire C: \ temp \ Pics qui maintient également les dates des fichiers mentionnées précédemment.

Un moyen simple de déplacer des dossiers et de préserver la date et l'heure de création utiliser ces utilitaires

http://lantechsoft.com/data-copy.html

Un autre où il peut préserver les dates lors de la copie des fichiers.

http://technocomsolutions.com/data-copy-tool.html

Xcopy fonctionne bien pour cela. Indiquez simplement le drapeau / k pour copier les attributs.

Syntaxe
Xcopy Source [Destination] [Paramètres facultatifs]

La commande xcopy peut copier un ou plusieurs fichiers ou arbres de répertoires d'un emplacement à l'autre. La commande xcopy est incluse dans toutes les versions de Windows de Windows 95 à Windows 8.

J'y parviens avec

Rsync -avu –modify-window = 3602 source_directory / target_directory /

(Cela est vraiment utilisé comme un outil de synchronisation d'un répertoire à un autre miroir et l'option timewindow est de prévenir les problèmes lorsque les systèmes Windows déplacent des horloges 1 heure pour l'heure d'été, etc. par rapport aux systèmes linux)

Soit dans un environnement cygwin à l'intérieur de Windows, soit dans une machine virtuelle linux à l'intérieur de Windows avec des unités Windows montées (p. Ex. Avec une boîte virtuelle)

NB cygwin et virtualbox sont tous les deux libres et vous permettent d'avoir dans une moindre ou une mesure la fonctionnalité linux sur Windows – ils ont tous deux besoin d'un peu de configuration – en particulier la boîte virtuelle, mais ont beaucoup de benenfits ….

Mon propre problème était que les fichiers avaient le bon moment, mais les répertoires ne l'avaient pas fait. Rsync a résolu les dates sur les répertoires ainsi que les dates sur les fichiers.

J'ai découvert que la façon la plus simple pour moi jusqu'à présent est la méthode "envoyer vers". Sans nécessiter d'applications externes. Dans mon expérience, il conserve tous les attributs de fichier d'origine. La méthode utilisée précédemment était la méthode de compression / zip. Bien sûr, cela prend certainement plus de temps puisque les fichiers ne sont pas seulement copiés mais traités et compressés, tant lors de la compression que de la décompression.

% Appdata% \ Microsoft \ Windows \ SendTo ou C: \ Utilisateurs _______ \ AppData \ Roaming \ Microsoft \ Windows \ SendTo

Ajoutez un raccourci vers le dossier où vous souhaitez les copier et l'élément apparaîtra dans votre menu sendto lorsque vous cliquez avec le bouton droit de la souris sur un fichier que vous souhaitez copier

Cette commande copie le même horodatage pour les fichiers. Notez qu'il ne fait pas exactement le même temps d'estampillage pour les dossiers eux-mêmes. Notez également que j'ai placé des citations autour de la source (Temp1) et de la destination (Temp2). Cela se fait dans le cas où il y a des espaces dans les chemins. Je n'ai pas d'espace mais je pensais que je devrais l'inclure dans les scénarios les plus défavorisés.

 robocopy /E /copy:DAT "C:\Temp1" "c:\Temp2" 

Pour garder les horodateurs identiques pour les dossiers aussi:

Robocopy / E / copy: DAT / dcopy: DAT "C: \ Temp1" "c: \ Temp2"