web-dev-qa-db-fra.com

Existe-t-il un moyen de modifier simplement xcopy ou de nouveaux fichiers?

J'essaie de déployer un site Web de mon bureau sur mon serveur Web et je le fais maintenant:

 xcopy C:\source X:\destination /s

Mon ordinateur de bureau est une machine Windows XP, et je dois copier sur une machine Windows Server 2008, mais cela copie tout et le site entier est très volumineux et la copie prend beaucoup de temps.

Existe-t-il un moyen de simplement copier des fichiers nouveaux ou mis à jour? Je vois que vous pouvez indiquer une date de changement depuis, mais je voulais voir s'il existait un moyen plus simple de comparer le fichier de destination ...

De plus, je suis ouvert à l’utilisation de tout ce qui est en dehors de xcopy et qui peut également faire le travail.

53
leora

À partir de XCOPYdocumentation :

/ d [: mm-jj-aaaa]: copie les fichiers source modifiés à la date spécifiée ou après cette date uniquement. Si vous n'incluez pas de valeur mm-jj-aaaa, xcopy copie tous les fichiers source plus récents que les fichiers de destination existants. Cette option de ligne de commande vous permet de mettre à jour les fichiers qui ont été modifiés.

Donc, avec votre exemple, cela devrait se lire:

xcopy C:\source X:\destination /s /d
94
Mark

Robocopy est une bonne alternative aussi:

Par défaut, Robocopy ne copie un fichier que si la source et la destination ont des horodatages ou des tailles de fichier différents.

De plus, vous pouvez faire beaucoup plus - la commande miroir est pratique pour les sites Web sur lesquels vous supprimez des fichiers.

24
Matt

Utilisez l'option/A. Tous les fichiers nouveaux ou modifiés auront un attribut archive.

Consultez le lien ci-dessous pour plus de détails:

Syntaxe de commande Xcopy et exemples

3
Giri

Il y a rsync , mais je ne l'ai pas utilisé sous Windows. La façon dont je l’utilise normalement sous Linux est la suivante:

rsync -avuz src/ remote:dst/

qui envoie seulement les mises à jour (fichiers nouveaux et modifiés).

1
jcomeau_ictx

J'ai prévu la tâche suivante pour ~ 80k fichiers et ~ 2k dossiers:

xcopy \\sourceserver\share\ Q:\backuptarget\folder\ /i /d /y /he /C /EXCLUDE:C:\backup\list.txt > C:\backup\backup.log

l'option/C continue la copie même si "l'accès est refusé" au fichier ou au dossier en raison de son ouverture ou de l'absence d'autorisation sous le compte de service dans lequel vous exécutez cette tâche planifiée.

le ">" écrase le journal à chaque fois si vous voulez ajouter, vous pouvez utiliser le tuyau ">>".

1
user59725