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 :

[BATCH ou POWERSHELL] Copier des répertoires spécifiques d'une machine A à une machine B + Zip


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 [BATCH ou POWERSHELL] Copier des répertoires spécifiques d'une machine A à une machine B + Zip
    Bonjour,

    J'ai besoin de pouvoir réaliser des archives en Zip sur une machine A et les déplacer sur une machine B.

    Cependant il y a plusieurs règles.
    Input = Machine A = \\monserveur\A
    Output = Machine B = C:\MesDocuments\XML

    Zip.exe sous C:\MesDocuments\XML
    Batch.bat sous C:\MesDocuments\XML

    Puis le batch lancé depuis la machine B fait :
    Je parcours la machine source à partir de \\monserveur\AA\.

    Puis je regarde tous les sous répertoires (branche) et si un répertoire se nomme "DATASOURCE_XML", je teste :
    1. s'il y a un fichier Zip : alors je relève son chemin "\\monserveur\AA\xx\yy\zz\DATASOURCE_XML\truc.zip" et je le copie en conservant son"arborescence" (donc je la recrée "mkdir (?)") sur la machine B sous "C:\MesDocuments\XML\xx\yy\zz\DATASOURCE_XML\truc.zip", puis je me dé-zippe sur la machine B (sans supprimer le fichier Zip) et je passe à la suite
    2. s'il n'y a pas de fichier Zip : alors je zippe le répertoire "DATASOURCE_XML" et je le copie en conservant son "arborescence" (donc je la recrée "mkdir (?)") sur la machine B sous "C:\MesDocuments\XML\xx\yy\zz\DATASOURCE_XML\truc.zip", puis je me dé-zippe sur la machine B (sans supprimer le fichier Zip) et je passe à la suite


    Cas particulier:
    Si je me trouve dans le cas où il n'y a pas de répertoire "DATASOURCE_XML" dans une "branche" (exemple: \\monserveur\AA\ff\gg\rr\. => pas de dossier "DATASOURCE_XML" trouvé je passe à la "branche" suivante.

    Enfin si un répertoire "DATASOURCE_XML" sous la machine A qui est complètement vide alors je le trace dans un fichier log.txt dans la machine B sous C:\MesDocuments\XML sous la forme :

    La source de "C:\MesDocuments\XML\xx\yy\zz\DATASOURCE_XML\" était vide
    La source de C:\MesDocuments\XML\xx\tt\zz\DATASOURCE_XML\ était vide
    La source de C:\MesDocuments\XML\aa\bb\rr\DATASOURCE_XML\ était vide
    ...
    Je ne sais pas si j'ai été clair mais j'avoue que je ne sais pas du tout comment m'y prendre.
    Merci d'avance à vous si vous pouvez m'aider.
    Cordialement,
    Paloma



    Pensez au

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par Paloma Voir le message
    ... je ne sais pas du tout comment m'y prendre.
    Par le début ?

    Citation Envoyé par Paloma Voir le message
    Merci d'avance à vous si vous pouvez m'aider.
    Quelle est ta question ?

    En passant une archive peut mémoriser le chemin d'origine...

  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
    Bonjour Laurent Dardenne

    En fait ma question est mal posée mais le post est bien toute la question

    En fait j'aurais voulu faire ce script en Batch ou Powershell afin que toutes les manips se fassent en automatique.
    J'ai plus ou moins réussi à faire certaine parties comme zipper les dossiers via un fichier texte qui contient la liste des dossier à vérifier.
    Mais le souci c'est quand je dé-zippe de l'autre coté, la décompression commence à la racine de la machine source et donc recrée toute l’arborescence dans la machine cible.
    Du coup je me le suis fait à la main

    Tant pis et merci quand même les amis
    Cordialement,
    Paloma



    Pensez au

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Paloma Voir le message
    Mais le souci c'est quand je dé-zippe de l'autre coté, la décompression commence à la racine de la machine source ...
    Cela dépend de ton outil de compression et des options que tu utilises.

    Citation Envoyé par Paloma Voir le message
    ... et donc recrée toute l’arborescence dans la machine cible.
    Le problème est que si tu copies le contenu d'une arborescence dans un seul répertoire les fichiers de même nom sont écrasés...

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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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