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 :

Copy de repertoires


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Copy de repertoires
    Bonjour,
    je voudrais lire un fichier txt ligne par ligne de ce type :


    I:\35\00-Cartes;e:\foncier35\00-Cartes
    I:\35\000-LOI_CARR;e:\foncier35\000-LOI_CARR
    I:\35\ACIGNE;e:\foncier35\ACIGNE
    I:\35\AMANLIS;e:\foncier35\AMANLIS
    I:\35\ANDOUILLE NEUVILLE;e:\foncier35\ANDOUILLE NEUVILLE
    I:\35\ANTRAIN;e:\foncier35\ANTRAIN
    I:\35\ARBRISSEL;e:\foncier35\ARBRISSEL
    I:\35\ARGENTRE DU PLESSIS;e:\foncier35\ARGENTRE DU PLESSIS
    I:\35\BAGUER MORVAN;e:\foncier35\BAGUER MORVAN

    mettre dans la variable A "I:\35\00-Cartes"
    mettre dans la variable B "e:\foncier35\00-Cartes"
    la sépartion des deux variables est le point virgule
    et copier le répertoire et son contenu de variable A dans Le chemin de la Variable B

    Merci

  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,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    setlocal enabledelayedexpansion
    
    for /f "tokens=1,2 delims=;" %%a in ('type test.txt') do (
       set $a="%%a"
       set $b="%%b\"
       echo xcopy /s !$a! !$b!)
    pause
    J'ai mis un echo avant le xcopy pour que tu puisses tester la sortie.
    Si c'est OK enlève le.

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

  3. #3
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    C'est la même chose que Sacha , mais en appelant la fonction XCopyme avec deux paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    setlocal enabledelayedexpansion
    
    for /f "tokens=1,2 delims=;" %%a in ('type Test.txt') do (
       set $a="%%a"
       set $b="%%b\"
       Call :XCopyMe "!$a!" "!$b!")
    pause
    
    :XCopyMe
    Xcopy  /I /A /D /Y /S /M /J /C %~1 %~2

  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
    @Hackoo n'oublie pas la sortie après ta boucle FOR, si tu fait un Call, sinon ça va bugger
    et dans ton cas pas besoin de l'expansion retardé ni de créer des variables, je déconseille également de
    supprimer les strings sur les arguments envoyés dans le Call

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    echo off
    for /f "tokens=1,2 delims=;" %%a in ('type Test.txt') do (
     Call :XCopyMe "%%a" "%%b")
     EXIT/B
    pause
    
    :XCopyMe
    Xcopy  /I /A /D /Y /S /M /J /C %1 %2
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par sachadee Voir le message
    @Hackoo n'oublie pas la sortie après ta boucle FOR si tu fait un Call sinon ça va beuger et dans ton cas pas besoin de l'expansion retardé ni de créer des variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    echo off
    for /f "tokens=1,2 delims=;" %%a in ('type Test.txt') do (
     Call :XCopyMe "%%a" "%%b")
     EXIT/B
    pause
    
    :XCopyMe
    Xcopy  /I /A /D /Y /S /M /J /C %~1 %~2
    Sacha et de vos remarques constructives, car ça me premet de me progresser petit à petit grâce à vous +1
    C'était un exercice pour moi pour appliquer une fonction avec paramètres

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut test du 1er programmme
    Bonjour,
    je viens de tester le PRG1 Ça marche très bien
    du coup je souhaite les déplacer au lieux de les copier
    merci
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    J'ai ajouté la création d'un LogFile pour vous faciliter la tâche en "débuggant" ton script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    Title Copie de Sauvegarde
    mode con cols=67 lines=3 & Color 9B
    Set LogFile=XcopyLog.txt
    If Exist %LogFile% Del %LogFile%
    echo Veuillez patienter la copie de sauvegarde est en cours . . . .
    for /f "tokens=1,2 delims=;" %%a in ('type Test4.txt') do ( Call :XCopyMe "%%a" "%%b" >> %LogFile%)
    pause
    Start %LogFile%
    EXIT /B
    
    :XCopyMe
    echo Xcopy /I /A /D /Y /S /M /J /C /F %1 %2

  8. #8
    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
    du coup je souhaite les déplacer au lieux de les copier
    Rajoute un DEL et un RD en sortie

    Code : 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 "tokens=1,2 delims=;" %%a in ('type test.txt') do (
       set $a="%%a"
       set $b="%%b\"
       xcopy /s !$a! !$b!
       del /s/q !$a!\*.*
       rd /s !$a!)
    pause
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

Discussions similaires

  1. filtre élaboré et copie de repertoire
    Par arnest dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2008, 10h18
  2. [ANT] Copie sur repertoire réseau
    Par MrEddy dans le forum ANT
    Réponses: 2
    Dernier message: 15/05/2007, 13h56
  3. [ANT] Copie arborescence repertoire + images
    Par sbernard dans le forum ANT
    Réponses: 2
    Dernier message: 27/02/2007, 11h39
  4. Copie de repertoires recursives sous FTP
    Par EvilAngel dans le forum Développement
    Réponses: 3
    Dernier message: 08/02/2006, 16h35
  5. Equilibrage du file sytem -> copie de repertoire
    Par soulryo dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 10/11/2005, 16h36

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