Comment copier uniquement les nouveaux fichiers ET uniquement ceux qui sont modifiés après une certaine date?

25

Je voudrais copier des fichiers d'un lecteur à un autre, mais je souhaite uniquement copier les fichiers source plus récents que le fichier de destination. MAIS , je veux également copier uniquement les fichiers source qui ont été modifiés après une certaine date.

Je sais que je peux utiliser xcopy pour faire l'une ou l'autre de ces choses, mais je voudrais faire les deux en même temps.

Ainsi, par exemple, je veux copier tous les fichiers source datés du 01/03/2013 ou après, mais en plus, je ne veux que le fichier copié si le fichier source est plus récent que la destination. Donc, idéalement, je voudrais faire quelque chose comme ça:

xcopy c:\*.* e:\*.* /D:03-01-2013

combiné avec quelque chose comme ça:

xcopy c:\*.* e:\*.* /D

Cela peut-il être fait avec xcopy ou Robocopy?

PaulStock
la source

Réponses:

23

Cela vous donnera probablement ce que vous voulez:

Robocopy c:\ e:\ *.* /MAXAGE:20130301 /XO /E

Ajoutez la /Lcommande à ceci pour voir ce qu'il fera sans qu'il ne le fasse réellement d'abord juste pour être sûr.

Vérifiez ici pour plus d'informations sur les options de Robocopy.

Rabbid10
la source
2

Utilisez simplement les deux options dans la même commande:

xcopy c:\*.* e:\*.* /D /D:03-01-2013

vous obtient ce que vous voulez.

Malcolm
la source
Comment feriez-vous si vous vouliez que le fichier ait au moins 1 heure? En d'autres termes, un âge relatif à partir de maintenant, pas un âge absolu?
toddmo
@toddmo Il semble que xcopy et Robocopy ne peuvent filtrer que par date et non par heure. Vous devez utiliser un autre utilitaire ou quelque chose comme une boucle FOR avec la commande DIR / O: D.
Malcolm
RoboCopy peut utiliser minage et maxage , mais ce n'est qu'au niveau du jour, pas à l'heure. Vous pouvez également lire ici pour d'autres outils et scripts de commandes qui copieront des fichiers vieux d'une heure .
dim