Batch scripts xcopy

Fermé
Beguinnapster Messages postés 41 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 29 juin 2010 - 7 août 2009 à 12:51
 maxime - 13 sept. 2012 à 12:06
Bonjour,

j'ai cree un script qui me copy plusieurs fichiers d'un repertoire A vers un repertoire B.
mai le probleme est que je ne veux pas ecrazer les fichiers existants,
donc le message d'ecraser les fichiers existants apparait a chaque copie de fichier.
comment est ce que je peux cree la reponse non comme variable pour etre insere automatiquelment pendant la copie?


Merci
A voir également:

8 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
13 août 2009 à 16:02
en fait il y a une différence entre copy et xcopy, avec copy un seul n suffit comme réponse:
$ dir /b a
fichier1
fichier2

$ dir /b b
fichier1
fichier2

$ echo n > rep1

$ copy a\*.* b < rep1
a\fichier1
Remplacer b\fichier1 (Oui/Non/Tous) : n
a\fichier2
Remplacer b\fichier2 (Oui/Non/Tous) :
        0 fichier(s) copié(s).

résultat, 0 fichier copié
j'ajoute un fichier
$ echo 3333>a\fichier3

$ copy a\*.* b < rep1
a\fichier1
Remplacer b\fichier1 (Oui/Non/Tous) : n
a\fichier2
Remplacer b\fichier2 (Oui/Non/Tous) :
a\fichier3
        1 fichier(s) copié(s).

résultat 1 fichier copié
avec xcopy, il lui faut autant ou plus de réponses, donc si tu as, par ex. moins de 1000 fichiers, on crée un fichier contenant 1000 n
$ @echo off
$ for /l %a in (1,1,1000) do echo n >> reponse

$ xcopy a b /s/e /i < reponse
Remplacer C:\b\fichier1 (Oui/Non/Tous)?
....
0 fichier(s) copié(s)

on supprime un fichier pour tester
$ del b\fichier3

$ xcopy a b /s/e /i < reponse
Remplacer C:\z\b\fichier1 (Oui/Non/Tous)?
......
a\fichier3
1 fichier(s) copié(s)

mais c'est du bricolage, il y a des bons outils de synchronisation pour faire ça :
https://www.commentcamarche.net/telecharger/securite/sauvegarde/
1
Misaotra anareo rehetra fa tena nanampy be ahy le izy..

Many thanks
0
merci dubcek !
0
1. Remplir un fichier avec les fichiers existants: dir repertoire /b > liste.txt
2. XCOPY en excluant les fichiers repris dans liste.txt : paramètre /EXCLUDE:liste.txt
1
Utilisateur anonyme
7 août 2009 à 13:05
Bonjour,

C'est pas plus simple de tester l'existence du fichier que tu veux copier et de le supprimer si il existe ?
Par exemple,
If exist c:\A.txt del C:\a.txt
copy a:\z.txt c:\a.txt
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
7 août 2009 à 13:05
hello
tu ne veux pas les écraser, donc automatiser de répondre non à chaque "Remplacer xxxx (Oui/Non/Tous)? "
essaye
echo n > rep
copy ......... < rep
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Beguinnapster Messages postés 41 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 29 juin 2010 3
8 août 2009 à 11:30
Non les gar ca ne marche pas.
jai essaye mai ca ne marche pour la proposition d ecraser,ca ne poura pas m'aranger.
je veux plustot que le fichiers existant ne soit pas ecraser ca me permet de reconcilier les fichiers en faisant des decomptes.

ya pas une autre solution?

Merci
0
Utilisateur anonyme
8 août 2009 à 16:12
Tu veux peut-être donner un numéro d'incrément à chaque exemplaire de fichier que tu trouves. Au fil des exécutions de ton script, tu te retrouverais avec ce genre de liste :

C:\FichierA.txt
C:\FichierA001.txt
C:\FichierA002.txt
C:\FichierA003.txt
etc.

Sinon, j'vois pas.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
8 août 2009 à 11:53
je ne comprends pas ce que tu veux, ce que je propose c'est de répondre non à la question de l'écrasement, donc ne sont copiés que les fichiers qui n'existent pas
0
Beguinnapster Messages postés 41 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 29 juin 2010 3
12 août 2009 à 10:28
tu as tout compris je veux repondre non mais je veux que ca soit automatiquement fait par l'ordinateur lui meme.
c'est a dire dans le script je ne veux pas avoir a appuier sur N tout le temps de la côpy.jai enviiron 9000 fichiers
et c'est justment comment automatiser ce procesus qui me preocupe,




merci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
12 août 2009 à 10:30
cf post 2
mettre le n dans un fichier et
xcopy ...< fichier
0
Beguinnapster Messages postés 41 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 29 juin 2010 3
12 août 2009 à 19:18
comment,fais moi une demo,
0
Noha819 Messages postés 74 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 19 octobre 2023 14
13 août 2009 à 10:14
Ou sinon comme disait frameto tu test si le fichier existe déja. Si il existe tu passe au fichier suivant sinon tu le copie.
if not exist C:\fichier1 xcopy...etc...
sinon il continue la lecture du script
0