IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Copier tous les répertoires et leurs contenus que si le nom est particulier [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre régulier Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Points : 79
    Points
    79
    Par défaut Copier tous les répertoires et leurs contenus que si le nom est particulier
    Bonjour,

    N'étant pas un pro du batch, j'aimerai savoir si simplement il est possible de copier à partir d'une machine A vers une machine B tous les répertoires nommé "Publications" en conservant l'arborescence.

    C.a.d.
    J'ai une machine A qui est sur un serveur et est mappé sur une lettre de ma machine (E:\) avec une arbo de type
    e:\val\xx\zz\zy\Publications
    e:\val\xx\aa\Publications
    e:\val\ii\tt\ff\rr\Publications
    e:\val\ii\tt\ff\rr\Publications\Toto
    e:\val\xx\zz\zy\
    e:\val\xx\zz\Photos
    e:\val\xx\zz\zy\Txt
    J'aimerai pouvoir lancer un script qui recrée cette arbo (mkdir?) à partir de e:\val\. sur ma machine mais juste dans le cas où il y a un répertoire "Publications" (avec ses sous-répertoires si il y a et les fichiers qui vont avec).
    Seuls les répertoires et fichiers "Publications" (et sous répertoire + fichiers) doivent être créés.

    Du coup sur la machine B j'aurais:
    c:\MesDocuments\Job\xx\zz\zy\Publications
    c:\MesDocuments\Job\xx\aa\Publications
    c:\MesDocuments\Job\ii\tt\ff\rr\Publications
    c:\MesDocuments\Job\ii\tt\ff\rr\Publications\Toto

    De plus est-il possible de faire un second script à part qui regarde tous les répertoires à partir de c:\MesDocuments\Job\ et s'il trouve un zip il le dézippe et passe à la suite?

    Merci à vous pour vos lumières.

    Merci d'avance.
    Cordialement,
    Paloma



    Pensez au

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    Tu dis :

    à partir de e:\val\.
    et dans ton repertire de sortie tu tiens compte de

    e:\xx\zz\zy\Publications vers :\MesDocuments\Job\xx\zz\zy\Publications

    alors qu'il n'est pas dans e:\val.

    Essayons d'être clair

    C'est la clé du succès en programmation.
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Membre régulier Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Points : 79
    Points
    79
    Par défaut
    Bonsoir sachadee

    Rooo je suis désolé ... oui je corrige mon premier post en :

    C.a.d.
    J'ai une machine A qui est sur un serveur et est mappé sur une lettre de ma machine (E:\) avec une arbo de type
    e:\val\xx\zz\zy\Publications
    e:\val\xx\aa\Publications
    e:\val\ii\tt\ff\rr\Publications
    e:\val\ii\tt\ff\rr\Publications\Toto
    e:\val\xx\zz\zy\
    e:\val\xx\zz\Photos
    e:\val\xx\zz\zy\Txt
    c'était une coquille de ma part
    Cordialement,
    Paloma



    Pensez au

  4. #4
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Ne pouvant pas tester voici une idée à tester et adapter :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Echo Off
     
    setlocal enabledelayedexpansion
     
    for /f "delims=" %%a in ('dir /b/a-a/s "e:\val\" ^| find /i "publications"') do (
      set "$SourcePath=%%a"
      set "$DestPath=c:\MesDocuments\Job\!SourcePath:e:\val\=!"
      md "!$DestPath!"
      xcopy /s "!$SourcePath!" "$DestPath!"
    )

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Membre régulier Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Points : 79
    Points
    79
    Par défaut
    Bonjour sachadee,

    Merci beaucoup. Je l'ai lancé, on va voir ce que cela va donner.

    Pour l'instant, cela tourne mais je ne vois pas mes "petits"

    J'ai des messages d'erreurs et je dois régulièrement valider "All" ... mais ça tourne.
    Peut-on éviter d'avoir à répondre à cette question et que le script prenne "All" comme action par défaut?

    Je t'envoie une copie d'écran en MP.
    Si ça te dis quelque chose.
    Il n'y a peut-être rien de dramatique il me faut laisser tourner ....
    Cordialement,
    Paloma



    Pensez au

  6. #6
    Membre régulier Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Points : 79
    Points
    79
    Par défaut
    Mince ça ne fonctionne pas car tous est dans un dossier $DestPath et mélangé

    La structure n'est pas reconstruite sur la machine cible.

    Il y a un truc qui m'échappe. Ton code à l'air bien j'aurais pas fait mieux
    Cordialement,
    Paloma



    Pensez au

  7. #7
    Membre régulier Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Points : 79
    Points
    79
    Par défaut
    En fait, le script trouve mon répertoire recherché (par le script) et le crée mais pas les répertoires parents (alors que j'en ai besoin sur la machine cible).
    Puis il parcours ce dit répertoire recherché et crée toute l'arborescence et y copie tous les fichiers, puis il parcours le même répertoire et passe à un sous répertoire, puis il refait le même boulot et le copie au même niveau que le répertoire recherché ce qui n'est pas bon non plus.

    En fait il faudrait qu'une fois que le répertoire recherché est trouvé et traité, il doit parcourir une autre branche et refaire le même boulot.

    c.a.d.
    1. je trouve le répertoire recherché,
    2. je crée l'arbo parente comme sur la machine source,
    3. Je crée le répertoire recherché dans cette arbo comme sur la machine source et je traite une seule fois le contenu,
    3.1 je crée la sous arbo de tout ce répertoire recherché ainsi que je ciopie les fichiers qui s'y trouvent
    4. j'ai fini de reconstruire le tout je passe au répertoire recherché qui se trouve dans une autre branche (chaque branche sont presque identique si ce n'est qu'à un moment donné un répertoire dans "l'arbo parente" change de nom puis on y trouve dedans ou un peu plus loin le fameux répertoire recherché) et on recommence à la ligne 1.

    Là ça devient chaud pour moi LOL


    Si vous avez une idée... merci à vous
    Cordialement,
    Paloma



    Pensez au

  8. #8
    Membre régulier Avatar de Paloma
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 228
    Points : 79
    Points
    79
    Par défaut
    Hello sachadee
    Merci pour tout.
    Finalement, j'ai refait un autre script et le dé-zippage je l'ai fait à la main ^^
    A bientôt.
    Cordialement,
    Paloma



    Pensez au

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 55
    Dernier message: 02/12/2009, 17h56
  2. Réponses: 1
    Dernier message: 01/12/2008, 18h03
  3. Copier tous les fichiers d'un répertoire vers un autre
    Par papilou86 dans le forum Langage
    Réponses: 1
    Dernier message: 09/09/2006, 01h02
  4. Chercher tous les fichiers ayant leur SETUID a 1
    Par mzt.insat dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 02/06/2006, 21h00
  5. copier tous les @ sauf x
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/11/2005, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo