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

Windows Discussion :

[batch] copie dossier + fichiers


Sujet :

Windows

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Points : 287
    Points
    287
    Par défaut [batch] copie dossier + fichiers
    Bonjour,

    A premier abord, ma question paraît simple mais voilà ma constatatio: si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xcopy /dossier1 /dossier2
    avec dossier1 contenant les fichiers F[1.1=>1.n]

    les fichiers contenus dans dossier1 seront copiés dans dossier2...
    j'aurai donc /dossier2/F[1.1=>1.n]

    seulement, je souhaite copier également le dossier 1; je veux avoir:
    /dossier2/dossier1/F[1.1=>1.n]

  2. #2
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Il te suffit de creer dossier1 dans dossier2 (md pour creer un repertoire) et de copier directement depuis dossier1 dans dossier2/dossier1.

    ++
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Points : 287
    Points
    287
    Par défaut merci
    merci beaucoup mais en fait, mon script récupère depuis un fichier texte tous les noms de dossiers qu'il doit copier. Il récupère des chemins tels que:
    D1\D1.1\D1.1\D1.1.1
    D2\D2.1
    D3\D3.1\D3.1.1

    ainsi il va y avoir des problèmes si j'effectue la copie vers le dossier de destination
    car si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xcopy D1\D1.1\D1.1\D1.1.1 destination\
    Il ne me copiera pas le répertoire D1.1.1
    pour celil faudrait que je fasse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xcopy D1\D1.1\D1.1\D1.1.1 destination\D1.1.1
    ce qui impliquerait que j'arrive à retirer du chemin D1\D1.1\D1.1\D1.1.1 le dernier élément délimité par "\", soit D1.1.1.
    Bref, je ne vois vraiment pas comment faire...
    Si vous avez des idées, je suis preneur.

  4. #4
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2007
    Messages : 51
    Points : 54
    Points
    54
    Par défaut
    Salut
    J'ai les lignes de code à la maison il suffit de rajouter des options /s et une autre
    Si j'y pense je modifierais se message une fois chez moi. Enfin si personne n'a répondu entre temps et je te passerais un lien vers un tuto
    patience...

  5. #5
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Le xcopy /S /E ne copie pas le nom du repertoire d'origine, il ne copie que les repertoire contenu dans ce dernier.
    Ca peut effectivement fonctionner si le repertoire à recopier est le seul à son niveau mais vu les noms des repertoires j'en doute.
    Il y a pe une autre option que je ne connais pas, mais un parcours rapide de l'aide de xcopy ne m'a rien apporté.

    J'imagine qd meme qu'il doit y avoir une solution toute simple à ton pb, au pire un petit for bien fait et tu récupères ton dernier élément délimité par "\".
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Points : 287
    Points
    287
    Par défaut
    Bon eh bien, si tu arrives à me proposer qqch, ce sera super!
    merci

    on m'a déjà donné cette piste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
    
    call :getParent "D1\D1.1\D1.1\D1.1.1"
    echo test=%test%
    goto fin
    
    :getParent
    set test=%~nx1
    goto :eof
    
    :fin
    fini
    
    pause

  7. #7
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Ben voila c'est très bien ça, le set test=%~nx1 te permet de récuperer ce qu'il te faut.

    Qu'est ce qu'il te manque la ?
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Points : 287
    Points
    287
    Par défaut rien!
    rien!

    merci beaucoup, pour ceux que ça intéresse, voici le code:
    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
    o La liste des dossiers est:
    echo.
    for /f "eol=; tokens=1 delims=," %%a in (liste_dossiers.txt) do (
    echo \\%serveur_bureautique%\%%a
    )
    echo.
    
    for /f "eol=; tokens=1 delims=," %%a in (liste_dossiers.txt) do (
    echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    echo Copie de %%a
    echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    call :copie "%%a"
    )
    goto :suivant
    
    :copie
    echo R|xcopy /S "\\%serveur_bureautique%\%~1" "%dossier_local%\%~nx1"
    echo.
    goto :eof
    
    :suivant
    echo.
    
    pause
    aussi, j'ai fait un batch qui copie des raccourcis dans des dossiers de manière automatique:
    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
    set nom=raccourci
    
    
    title cr‚ation des raccourcis
    
    set compteur=0
    
    for /f "eol=; tokens=1 delims=," %%a in (liste_dossiers.txt) do (
    echo cr‚ation du raccourci %%a
    rem il est normal que le paramŠtre cible soit pr‚c‚d‚ d'un guillemet mais ne soit pas succ‚d‚ par ce mˆme caractŠre
    shortcut /f:"\\%serveur_bureautique%\%%a\raccourci.lnk" /a:c /t:"\\%serveur_archives%\%%a 
    echo ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    
    rem ‚criture du log si jamais il n'arrive pas … cr‚er le raccourci
    if errorlevel 1 set /a compteur=compteur+1&&echo %%a > Logs\"liste des raccourcis non cr‚‚s".txt
    )
    echo.
    
    if %compteur%==0 goto fin_OK
    
    :fin_pas_OK
    echo %compteur% erreurs lors de la cr‚ation des raccourcis
    echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    echo.
    
    :fin_OK
    echo pas d'erreurs lors de la cr‚ation des raccourcis!
    echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    echo.
    
    pause
    pour replacer le contexte, j'ai créé une suite de scripts pour archiver des dossiers d'un serveur bureautique. Les dossiers sont archivés sur un serveur d'archives dont l'arborescence est identique.
    Voici la suite d'opérations:
    les fichiers sont copiés du serveur bureautique sur le serveur d'archives, dans le même dossier d'origine.
    Le contenu du dossier du serveur bureautique est effacé.
    Puis on crée un raccourci dans chaque dossier archivé du serveur bureautique permettant d'accéder au dossier du serveur d'archives contenant les données. Ainsi, on retrouve par ce système de redirection les fichiers archivés qui ont été délocalisés.



Discussions similaires

  1. [BATCH] Copie de fichiers via un batch
    Par fabpeden dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 27/05/2015, 11h30
  2. Réponses: 10
    Dernier message: 17/11/2011, 16h37
  3. Script Batch copie de fichier critères particuliers
    Par liondu75 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 25/11/2010, 12h41
  4. [batch] copie de fichiers
    Par ob1knob dans le forum Windows
    Réponses: 1
    Dernier message: 03/04/2007, 11h44
  5. Fichier batch - copie conforme d'un dossier
    Par Le_Che dans le forum Windows
    Réponses: 1
    Dernier message: 20/11/2006, 15h47

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