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 :

Problème script copie/renommage


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 14
    Points
    14
    Par défaut Problème script copie/renommage
    Bonjour à tous et à toutes,

    J'ai un problème pour faire un script qui doit copier certains dossier (et ce qu'ils contiennent) à la racine de l'arborescence.
    Plutôt que de me perdre dans les explications, j'ai fait un PDF expliquant ce que dois faire le script (cf piece jointe).
    A gauche mon arborescence telle qu'elle est créée, a droite ce à quoi elle doit ressembler.

    j'ai essayer avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    
    set /p chemin _dossier_source=%Choice% Chemin dossier source:
    set /p chemin _dossier_destination=%Choice% Chemin dossier destination:
    
    xcopy "%chemin _dossier_source%" "%chemin _dossier_destination%" /e /i /Exclude:exceptions.txt
    C'est un script qui va être utilisé pour une "infinité" de dossiers (tous basé sur le même modèle), d'où les variables.
    Je viens de tester, impossible de faire une copie cyclique. Du coup le dossier "100000xxxxxx" sera enregistré au même endroit que "TN2-14-001_NA-01-0001".
    Mais ça ne fonctionne pas quand je met "01-Suivi d'affaire" dans le dossier d’exception.

    Du coup j'ai essayé ça pour tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    
    set /p chemin _dossier_source=%Choice% Chemin dossier source:
    set /p chemin _dossier_destination=%Choice% Chemin dossier destination:
    xcopy "%chemin _dossier_source%\01-Suivi d'affaire\1-01-Specification travaux" "%chemin _dossier_destination%" /e /i
    cd %chemin _dossier_source%
    cd "01-Suivi d'affaire"
    move "1-01-Specification travaux" "%chemin _dossier_destination%\07- STB"
    move "1-07-Photos" "%chemin _dossier_destination%\10- Photos"
    Mais ça ne fonctionne pas.
    J'essaye depuis hier, ça ne veux pas faire ce que je veux. Je suis admin système pas dev, j'ai d'autre taf qui m'attend.
    Est-ce que vous avez une idée pour me sortir de là?
    Je n'ai pas essayé avec des "for" ou autre, mes compétences étant limité comme mon temps.
    Je n'ai pas regardé du côté de powershell, mais sa semble encore plus compliqué.

    Merci d'avance pour vos réponses constructives.
    Images attachées Images attachées

  2. #2
    Membre à l'essai
    Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 14
    Points
    14
    Par défaut Solution


    Bonjour,

    J'ai trouvé la solution. Je vous la fait partagée, bien que ce ne soit pas beau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    @echo off
    
    :: choix du dossier source (il doit être obligatoirement au même niveau que le script)
    set /p chemin _dossier_source=%Choice% Chemin dossier source:
    set chemin _dossier_dest="TEMP_a_ne_pas_supprimer"
    
    :: copie des dossiers et leur contenu dans le fichier tampon "TEMP_a_ne_pas_supprimer"
    :: On note dans un fichier texte "exceptions.txt" les dossiers et fichiers à exclure
    xcopy "%chemin _dossier_source%" "%chemin _dossier_dest%" /e /i /Q /Exclude:exceptions.txt
    
    :: création du dossier de destination final et d'un des sous dossier
    md "%chemin _dossier_source%\100000xxxxxx"
    md "%chemin _dossier_source%\100000xxxxxx\08- CAO"
    
    
    set chemin _dossier_destination="%chemin _dossier_source%"
    
    
    cd "%chemin _dossier_dest%\01-Suivi d'affaire"
    
    
    set currentpath=%~dp0
    
    :: déplacement et renommage des dossiers présent dans "01-Suivi d'affaire"
    move "1-01-Specification travaux + TDR" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\07- STB"
    move "1-02-Proposition-Contrat" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\06- Achats"
    move "1-07-Photos" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\10- Photos"
    
    
    cd "1-04-Echanges informations"
    
    :: déplacement et renommage des dossiers présent dans "01-04-Echange informations"
    move "1-4-01-Reception poste" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\01- Reception poste"
    move "1-4-02-Courriers" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\05- Courriers"
    
    cd..
    cd..
    
    
    cd "01-Suivi d'affaire\1-05-Livraison donnees"
    
    :: déplacement et renommage des dossiers présent dans "01-05-Livraison donnees"
    move "1-5-01-Bons de livraison" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\02- Bons de livraison"
    move "1-5-02-Conformite" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\03- Conformite"
    move "1-5-04-Controle" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\04- Controle"
    move "1-5-05-Notice & Docs" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\09- Notice & Docs"
    
    cd..
    cd..
    
    
    :: déplacement et renommage des dossiers présent à la racine du dossier copié
    move "02-Donnees d'entree" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\08- CAO\Envoyees"
    move "05-Donnees a livrer (CAO)" "%currentpath%\%chemin _dossier_destination%\100000xxxxxx\08- CAO\Recues"
    
    
    :: suppression de ce qui reste dans le fichier tampon
    rd "01-Suivi d'affaire" /s /q
    
    pause
    S'il y a moyen d'optimiser le code je suis preneur.

    PS : Merci à la personne qui a rajouté les balises de code dans le premier post.

Discussions similaires

  1. Script de copie / renommage
    Par villegente dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/02/2009, 09h05
  2. [Probléme] Script copie dans un fichier
    Par maloute80 dans le forum Langage
    Réponses: 23
    Dernier message: 29/11/2007, 15h52
  3. [VB Script] Problème de copie dans répertoire
    Par ben_harper dans le forum VBScript
    Réponses: 3
    Dernier message: 19/06/2006, 10h25
  4. Problème de copie de string dans string
    Par kazarn dans le forum SL & STL
    Réponses: 17
    Dernier message: 15/03/2005, 18h35

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