Batch scripts xcopy

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
Configuration: Windows XP Internet Explorer 7.0

8 réponses

  1. 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
    1. Contributeur
      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
      1. 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
        1. 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.
      2. Contributeur
        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
        1. 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
      3. Contributeur
        cf post 2
        mettre le n dans un fichier et
        xcopy ...< fichier
        1. comment,fais moi une demo,
      4. 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
        1. Contributeur
          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
          2. merci dubcek !
        2. 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