Sous Linux, nous pouvons simplement faire:
cp -pr directory
Comment faire ça sous Windows? Cela peut-il être fait dans l'explorateur Windows? Des suggestions d'outils d'interface graphique?
Ce serait mieux si je pouvais conserver les autorisations NTFS et le temps de création / modification / accès. Au minimum, je dois conserver la date de modification pour les fichiers et les répertoires. La copie de Windows Explorer ne conserve pas la date de modification pour les répertoires.
windows
file-management
netvope
la source
la source
robocopy c:\folderA c:\folderB /mir /it
c'est tout ce dont vous avez besoin. Notez que cela supprimera complètement c: \ folderB et créera un nouveau c: \ folderB qui reflète c: \ folderA.Réponses:
Il n'y a pas de moyen simple de faire cela dans Windows. Plusieurs programmes prétendent pouvoir conserver les dates de création des fichiers.
Voici quelques programmes qui pourraient faire l'affaire: http://forum.soft32.com/windows/preserve-creation-date-Copy-ftopict361820.html (lien brisé; pas dans la Wayback Machine).
En utilisant simplement Windows Explorer, ce n'est pas possible. Si vous consultez la documentation de CopyFile, Fonction CopyFile (winbase.h) , vous verrez que cela évite le sujet. Mais la fonction CopyFile (Windows Developer Preview) (une archive 2012 de la même URL) indique:
la source
RoboCopy peut conserver mtime pour les répertoires dotés du commutateur / DCOPY: T, mais cela ne fonctionne que sous Vista et plus récent. Il peut également préserver les ACL. Sinon, FastCopy peut être configuré pour conserver mtimes d'annuaire, ACLs et ADSes .
la source
/mir
?/mir
supprimez des données du dossier de destination, mais vous aviez également besoin/dcopy:t
de conserver les noms de répertoire et/copyall
de conserver plus que les horodatages de fichier.... ou vous pouvez simplement créer une archive zip (avec la méthode de compression définie sur "Stocker"), puis décompresser les fichiers où vous souhaitez les copier. Les attributs de date / heure sont les mêmes que les fichiers originaux.
la source
Outil de ligne de commande Robocopy (fourni avec la plupart des versions de Windows)
Sur mon ordinateur Windows 10, il se trouve à l'adresse
C:\Windows\System32
Sur Wikipedia , il peut être utilisé avec les options suivantes pour conserver les horodatages de fichiers et de répertoires, ainsi que d'autres attributs:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
conserver les horodatages des répertoires d' origine (nécessite la version XP026 ou ultérieure)/E
: Copier des répertoires de manière récursive, y compris des répertoires vides/R:0
: ne réessayez pas les fichiers verrouillés (le nombre de réessais sur les copies ayant échoué est défini par défaut sur 1 million),/COPYALL
: Copier toutes les informations du fichier,(équivalent à
/COPY:DATSOU
, oùD
= Données,A
= Attributs,T
= Horodatage des fichiers ,S
= Sécurité = ACL NTFS,O
= Informations sur le propriétaire,U
= Informations d'audit),Si vous souhaitez uniquement conserver les horodatages de date et de répertoire, mais ne souhaitez pas que les sous-répertoires vides soient copiés et que d'autres attributs ne soient pas conservés, vous pouvez utiliser:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
où
/S
copie les sous- répertoires non videsPour voir la syntaxe complète, tapez
robocopy /?
à l'invite de commande ou consultez les articles de blog suivants: https://ss64.com/nt/robocopy.html et https://techjourney.net/robocopy-syntax-command-line -commutateurs-et-exemples /Un exemple de commande que j'ai récemment exécuté:
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
Notez que pour exclure 2 sous-répertoires, l'
/XD
indicateur doit être utilisé deux fois. En outre, la deuxième exclusion de répertoire utilise des guillemets, car le nom du répertoire contient des espaces.Enfin, vous pouvez ajouter le
/L
drapeau pour tester la commande avant de le faire réellement. De cette façon, vous pouvez vérifier qu'il ne copie pas (ou ne supprime pas) les répertoires / fichiers que vous ne voulez pas et qu'il n'y a pas d'erreur dans votre commande.Edit: obtenu lors de la copie d'un répertoire racine (lecteur) vers un dossier (répertoire non-racine)
Après avoir exécuté l'exemple de commande ci-dessus, le répertoire n'était pas visible! (Même si
show hidden files
etshow system files
ont été vérifiés dans Windows 10!) La commande suivante selon https://serverfault.com/a/455029/399723 a résolu ce problème:Sinon, l'ajout de
/A-:SH
"désactive l'attribut masqué des fichiers système" peut ainsi empêcher le répertoire de devenir caché en premier lieu, comme indiqué à l' adresse https://serverfault.com/a/565804/399723 . Voir aussi https://ss64.com/nt/robocopy.html .Cette description apporte plus de lumière sur cette option en tant que solution.
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
Autres logiciels:
Sinon, vous pouvez télécharger une version graphique de robocopy si vous ne souhaitez pas utiliser la ligne de commande.
XCopy est un autre utilitaire Windows , bien qu’il soit inclus dans Windows 10, il est maintenant obsolète. Voir le lien pour gotchas.
La page Wikipedia de RoboCopy (liée en haut de cet article) répertorie les autres logiciels pouvant être utilisés.
la source
Synchronisez-le! La version 3.5 conserve tous les horodatages (fichiers et dossiers, modification et création). C'est le seul logiciel que je connaisse sous Windows XP qui le fasse parfaitement, à côté de Robocopy, et j'en ai essayé beaucoup. Attention, il peut produire des fichiers corrompus avec des fichiers sources téléchargés à l'aide de logiciels tels que FlashGet ou Orbit Downloader (les fichiers résultants ont la même taille, mais seuls 25 Ko sont 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 que cela a à voir avec ce logiciel qui télécharge des fichiers par petits paquets (destinés à optimiser la vitesse) et que ma partition de données est extrêmement fragmentée.
Robocopy XP026 est en effet inclus dans Windows Vista, mais fonctionne sous Windows XP. Recherchez "Robocopy XP026", ou je peux envoyer le fichier ici car ce n'est pas très facile à trouver. Ou vous pouvez installer l'interface graphique de Robocopy, puis rechercher le
robocopy.exe
fichier dans le dossier System32 afin de l'utiliser à partir de la ligne de commande. Le fichier que j'ai est 208kB et le numéro de version est 5.1.2600.26.Il semble y avoir un bug avec le "mode de sauvegarde", cependant:
La version XP027 de Robocopy n’a apparemment plus ce bogue, mais il ne fonctionne pas sous Windows XP.
la source
RoboCopy devrait pouvoir le faire avec le commutateur COPYALL. Vous pouvez récupérer la version graphique de Microsoft Technet .
la source
FastCopy peut le faire et c'est gratuit.
la source
Je ne sais pas quel commutateur conserve la date du fichier, mais cela fonctionne. Ensuite, je compresse le répertoire C: \ temp \ Pics qui contient également les dates de fichier mentionnées précédemment.
la source
Le moyen le plus simple pour moi jusqu’à présent est la méthode "envoyer à". Il n'a pas besoin d'applications externes. D'après mon expérience, il conserve tous les attributs de fichier d'origine.
La méthode que j'ai utilisée auparavant était la méthode du dossier compression / zip. Bien que cela prenne sûrement plus longtemps, les fichiers ne sont pas seulement copiés, mais traités et compressés, à la fois lors de la compression et de la décompression.
%appdata%\Microsoft\Windows\SendTo
ou.
C:\Users\_______\AppData\Roaming\Microsoft\Windows\SendTo
Ajoutez un raccourci au dossier où vous souhaitez les copier, et l'élément apparaît dans votre
sendto
menu lorsque vous cliquez avec le bouton droit de la souris sur le fichier que vous souhaitez copier.la source
xcopy Source Destination /kes
. (L’k
indicateur permet de conserver l’horodatage de la modification, mais la date de création n’est pas conservée). La méthode de compression au format zip (ou rar) est une bonne méthode, mais prend souvent trop de temps.Il est simple de déplacer des dossiers et des répertoires tout en préservant la date de création. Il suffit de maintenir Shiftet de faire glisser le dossier vers le nouvel emplacement (commande de déplacement). La date de modification sera la date actuelle, mais la date de création conservera la date d'origine.
la source
Un moyen simple de déplacer des dossiers tout en préservant la date et l'heure de création, utilisez ces utilitaires
http://lantechsoft.com/data-copy.html
Un autre où il peut conserver les dates lors de la copie des fichiers.
http://technocomsolutions.com/data-copy-tool.html
la source
xcopy fonctionne très bien pour cela. Spécifiez 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 arborescences de répertoires d’un emplacement à un autre. La commande xcopy est incluse dans toutes les versions de Windows de Windows 95 à Windows 8.
la source
/K
paramètre et il n'a pas préservé les dates de création.Je réalise cela avec
rsync -avu --modify-window = 3602 répertoire_source / répertoire_cible /
(Ceci est vraiment utilisé comme outil de synchronisation d'un répertoire à un autre miroir et l'option timewindow permet d'éviter les problèmes lorsque les systèmes Windows déplacent les horloges pendant 1 heure pour passer à l'heure avancée, etc. par rapport aux systèmes Linux)
dans un environnement cygwin à l’intérieur de Windows ou dans une machine virtuelle Linux à l’intérieur de Windows avec des lecteurs Windows montés (par exemple, avec virtualbox)
NB cygwin et virtualbox sont tous deux gratuits et vous permettent d’avoir dans une moindre mesure les fonctionnalités de Linux sur Windows.
Mon propre problème était que les fichiers avaient l'heure exacte, mais pas les répertoires. rsync a trié les dates sur les répertoires ainsi que les dates sur les fichiers.
la source
Cette commande copie le même horodatage pour les fichiers. Notez que l'horodatage des dossiers eux-mêmes n'est pas identique. Notez également que j'ai placé des guillemets autour de la source (Temp1) et de la destination (Temp2). Ceci est fait au cas où il y aurait des espaces dans les chemins. Je n'ai pas d'espace mais j'ai pensé que je devrais l'inclure pour les pires scénarios.
Pour que les horodatages restent identiques pour les dossiers:
copie de copie / E / copie: DAT / dcopy: DAT "C: \ Temp1" "c: \ Temp2"
la source