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 :

Copier des fichiers de type *.doc depuis sous rep


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Copier des fichiers de type *.doc depuis sous rep
    Bonjour à tous,

    J'aimerais faire les choses suivantes :
    Dans le repertoire C:\Fiche j'ai plusieurs sous repertoires, j'aimerais copier tous les fichier ayant l'extnesion .doc qui sont dans dans les sous repertoire vers le repertoire C:\analyse.

    P.s aucun fichier n'est en doublon dans mes sous repertoire.

    Merci de m'aider.

  2. #2
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xcopy /s c:\Fiche\*.doc c:\analyse

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xcopy /s c:\Fiche\*.doc c:\analyse
    J'ai oublié de dire que je voulais que les fichiers soit déplacé et extrait des ous repertoire, bref ne soit plus dans le rep, ou alors utilisé une notion d'archive ?

  4. #4
    Membre averti Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Points : 306
    Points
    306
    Par défaut
    Bonjour,

    Dans ce cas il va falloir opérer en deux temps car je crois que la commande "MOVE" n'a pas d'option de récursivité.

    Le premier création d'une liste et ensuite déplacement des fichiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir c:\Fiche\*.doc /s /b /a:-d > liste_doc.txt
    Puis avec une boucle "FOR" lancer le déplacement des fichiers vers leur nouvelle destination à l'aide de la commande "MOVE" et en s'appuyant sur la liste précédemment crée.

    A la louche ça donnerait un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f %%i in ('more Chemin\liste_doc.txt') do ( 
    
               move /y %i c:\analyse
    )
    Enjoy

  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
    et plopi pour ce script
    Bon je l'ai adapté a mes besoins comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo off
    dir c:\source\*.txt /s /b /a:-d > c:\liste_Txt.txt
    
    for /f %%i in ('more c:\liste_Txt.txt') do ( 
    
               copy /y %%i c:\analyse
    )
    Donc ce qui donne une liste_Txt.txt :
    c:\source\AdwCleaner[R1].txt
    c:\source\AdwCleaner[S1].txt
    c:\source\AdwCleaner[S2].txt
    c:\source\Nouveau dossier\AdwCleaner[R1.txt
    c:\source\Nouveau dossier\AdwCleaner[S1.txt
    c:\source\Nouveau dossier\AdwCleaner[S2.txt
    c:\source\Nouveau dossier\malwarelog.txt
    c:\source\Nouveau dossier (2)\AdwCleanerR1].txt
    c:\source\Nouveau dossier (2)\AdwCleanerS1].txt
    c:\source\Nouveau dossier (2)\AdwCleanerS2].txt
    c:\source\Nouveau dossier (2)\malwarelog.txt
    et la copie se fait que juste pour les 3 premiers fichiers :
    c:\source\AdwCleaner[R1].txt
    c:\source\AdwCleaner[S1].txt
    c:\source\AdwCleaner[S2].txt
    et ceci est dû je crois à cause du problème d'espaces dans les noms des dossiers
    Donc Ma question est :Comment modifier ce script pour contourner le problème d'espaces

  6. #6
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Salut,

    Avec ton adaptation, t'es en train de refaire un xcopy, quel est l'intérêt ?

  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

    Le problème d'espaces est réglé de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    dir C:\source\*.txt /s /b /a:-d > C:\liste_Txt.txt
    for /f "tokens=*" %%i in ('more C:\liste_Txt.txt') do (copy /y "%%i" c:\analyse)

  8. #8
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par hackoofr Voir le message
    Comment modifier ce script pour contourner le problème d'espaces
    c'est un problème récurent dans le scripting de commandes NT
    il y a dans la section Trucs et astuces dans ce sous-forum un post traitant cette question
    il est à noter que ce petit howto ne fait qu'effleurer le sujet...peux être que je ferais une suite, ...si je trouve un peu de temps

Discussions similaires

  1. [Batch] Copier des fichiers sur un pc depuis un serveur
    Par anthony0 dans le forum Scripts/Batch
    Réponses: 13
    Dernier message: 26/12/2014, 18h59
  2. Manipuler des fichiers de type Unix sous Windows
    Par hermes1983 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 06/06/2009, 08h43
  3. Réponses: 0
    Dernier message: 19/09/2007, 12h53
  4. Mettre des fichier de type *.doc dans une variable
    Par Macandre dans le forum VBScript
    Réponses: 1
    Dernier message: 28/02/2007, 18h05
  5. Copier des fichiers en Perl sous Windows XP
    Par Pauli dans le forum Langage
    Réponses: 1
    Dernier message: 19/02/2007, 09h40

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