Batch scripts xcopy

Beguinnapster Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
 maxime -
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. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
    1. Tonah
       
      Misaotra anareo rehetra fa tena nanampy be ahy le izy..

      Many thanks
      0
    2. maxime
       
      merci dubcek !
      0
  2. mophi
     
    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
  3. Utilisateur anonyme
     
    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
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Beguinnapster Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   3
     
    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
    1. Utilisateur anonyme
       
      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
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
    1. Beguinnapster Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   3
       
      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
  8. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    cf post 2
    mettre le n dans un fichier et
    xcopy ...< fichier
    0
    1. Beguinnapster Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   3
       
      comment,fais moi une demo,
      0
  9. Noha819 Messages postés 109 Statut Membre 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