Copie contenu sous dossier avec DOS

Résolu
BadGamer Messages postés 694 Statut Membre -  
BadGamer Messages postés 694 Statut Membre -
Bonjour,

Ce que je veut faire doit etre super simple mais je n'y arrive pas...
En gros j'ai un dossier "Photos" contenant des sous dossier
2010
2011
2012
Et dans chaque répertoire des photos en .png, j'aimerai faire cette commande pour fusoner les sous dossier dans un nouveau

copy .....\Photos\*\*.png .....\PhotosFusion\


Mais j'ai l'impression que le \*\ pour dire "tous les répertoires" ne fonctionne pas... une diée ? =)

3 réponses

  1. dourd1 Messages postés 367 Statut Membre 39
     
    je crois qu il faut utiliser xcopy pour copier les sous repertoire

    et de memoire je dirais

    xcopy /E c:\toto\*.* d:\"ton rep bachup"

    ou /s si tu ne veux pas les répertoires vides

    la il devrais te copier tous les sous répertoire de toto et les fichiers dans le dossier de sauvegarde
    mais bon je sais pas si c est exactement ce que tu veux faire

    nicolas
    2
    1. BadGamer Messages postés 694 Statut Membre 133
       
      Je voudrais fusioner le contenu de tout les sous repertoires d'un dossier, en gros j'ai:

      Toto>  
                 Toto1>  
                               1.png  
                               2.png  
                 Toto2>  
                               3.png  
                               4.png  
      


      Et je voudrais avoir mes photos 1,2,3 et 4 dans un meme repertoire
      0
  2. dourd1 Messages postés 367 Statut Membre 39
     
    Avec PowerShell, tu peux utiliser le paramètre -container de copy-item:

    copy-item source destination -recurse -container:$false

    La ligne ci-dessus copiera tous les fichiers de <source> "à plat" dans le
    répertoire <destination>. Seul hic, elle recréera également les répertoires
    qui sont à la racine de <source> (même si ces répertoires apparaîtront vides
    dans <destination>, tous les fichiers étant bien copiés à la racine de
    <destination>).

    Une autre façon de procéder qui ne présente pas cet inconvénient:

    dir source -recurse | where {!$_.PSIsContainer} | foreach {copy $_.fullname
    destination}

    ou

    XCOPY avec un FOR.

    Exemple :
    FOR /R c:\rsource %%a IN (.) DO XCOPY %%a c:\rdestination /Y

    a faire dans un batch

    voici ce qui devrait te permettre de faire ce que tu veux

    merci de me confirmer si c est ok ou non afin que je le mette a disposition sur mon site

    nicolas
    0
  3. BadGamer Messages postés 694 Statut Membre 133
     
    Super merci ! la solution c'étais ca ! Voila mon fichier bat:

    FOR /R C:\RepSource %%a IN (.) DO XCOPY %%a C:\RepArrive /Y
    pause

    le pause est surement inutil
    Merci beaucoup =)

    Edit: en fait j'ai perdu 100Mo entre les repertoires de départ et d'arrivée...je vais chercher ou est le probleme...
    Edit2: Voila au départ j'ai 719 éléments et a l'arrivé 588...il y a une option pour renommer et non supprimé en cas de même nom ?Car je crois que le probleme vient de fichier avec le même nom..
    0
    1. dourd1 Messages postés 367 Statut Membre 39
       
      je ne pense pas je vais essayer de voir cela dans la matinée si je te trouve une reponse.

      sinon essai de voir avec robocopy peut etre qu il y a une option qui ira
      http://dourd1.free.fr/wordpress-3.0.3/wordpress/?p=29
      0
    2. BadGamer Messages postés 694 Statut Membre 133
       
      Sinon je m'en fiche du nom, il faudrais d'abord renommer tout les fichiers des sous dossier...
      J'essaie ce log
      0
    3. dourd1 Messages postés 367 Statut Membre 39
       
      as tu reussi a faire ce que tu voulais?
      0
    4. BadGamer Messages postés 694 Statut Membre 133
       
      Oui j'ai fait dans recherche ".png" j'ai tout copier coller et ensuite .jpg pareil...un peu solution a l'arache mais ça marche
      0