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] Copie d'un type de fichier, d'un dossier source vers un autre en gardant l'arborescence.


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Batch] Copie d'un type de fichier, d'un dossier source vers un autre en gardant l'arborescence.
    Bonjour à tous,

    Je tiens d'abord à préciser que je débute dans la programmation de Batch, et que j'ai cherché dans le forum sans trouver mon bonheur.

    Alors ma problématique est simple, pour l'illustrer voici un exemple :
    j'ai un dossier A qui comporte plusieurs sous-dossiers avec à chaque fois une archive .pst dans ces derniers, ainsi que d'autres fichiers ( répertoire privé utilisateur sur serveur ) et je veux copier seulement cette archive dans un dossier B à la même place que dans le dossier A ( dans le même sous dossier qui sera recréé ).
    En gros mon dossier A comporte des sous dossiers a,b,c je veux que seule l'archive soit copiée vers le dossier B, dans les sous dossiers a,b,c.

    Voici une ébauche pour mon code pour commencer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    cls
    echo ---- Sauvegarde des Archives ----
    
    REM Connection des lecteurs réseaux 
    net use y: \\source\dossierA
    
    REM Copie des fichiers spécifiques 
    for /r "y:" %%i in (*.pst) do (xcopy "%%~fi" "c:\dossierB" /t /c)
    
    REM déconnection des lecteurs
    net use y: /delete
    En gros, j'ai deux problématiques : la commande xcopy ne permet pas de recopier seule l'arborescence des dossiers ... de deux, je pense qu'il faut mettre une boucle avec un if ( ou quelque chose dans le genre ) afin de replacer l'archive dans le bon sous dossier cible ( identique au sous dossier source )
    Merci par avance pour votre aide, si j'ai pas été assez clair, hésitez pas, j'essayerai de me ré-expliquer.

  2. #2
    Membre habitué

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Points : 191
    Points
    191
    Par défaut
    Bonjour,

    j'ai créé ce batch qui peut faire ce que tu demande (tu peux faire Cp "c:\dossier1" "d:\destination" -filtre-*.pst par exemple).

    Mais sinon xcopy peux copier une arborescence ( /S )

  3. #3
    Membre éprouvé Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Points : 1 250
    Points
    1 250
    Par défaut
    bonjour, robocopy sera parfait pour cela. perso j'utiliserais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    robocopy "C:\src" "d:\dest" *.pst /S /XO /R:1 /W:1  /LOG:"d:\log\LogCopy.txt" /NP /NDL /NFL
    option de copie
    /S => ne copie pas les dossiers vide (ou /E pour les copiers)
    /XO => eXclude Older file (ne copie pas les fichiers inchangé)
    /R:1 et /W:1 (en cas d'echec 2 tentatives avec 1 sec entre chaque )
    /LOG:"d:\log\LogCopy.txt" => création d'un fichier LOG (attention le dossier "d:\log\" doit exister sinon pas d'execution)
    option du log
    /NP => pas de % de copie (on ne l'enleve que pour du débugage)
    /NDL => no directory list
    /NFL => no file list

    robocopy est disponible depuis NT4 (rktool) et natif depuis vista.
    il offre bcp plus de posibilité que xcopy (dont un magnifique log)

Discussions similaires

  1. trouver un type de fichier dans un dossier
    Par Tommy24 dans le forum MATLAB
    Réponses: 1
    Dernier message: 13/07/2011, 11h24
  2. [XL-2007] Copy de fichier image d'un répertoire vers un autre répertoire
    Par pagail dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/03/2010, 14h15
  3. Comment n'afficher qu'un type de fichier dans un dossier ?
    Par Gunner4902 dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 09/08/2008, 23h58

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