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 :

Copie de fichiers depuis répertoires spécifiques. [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut Copie de fichiers depuis répertoires spécifiques.
    Bonjour à tous!

    Je viens vers vous car mon cerveau fume pour quelque chose d'absolument stupide...

    Voici un "schéma" du problème:
    dossier_quelconque
    -dossier1
    -dossier_cible1
    --plein_de_dossiers_et_sous_dossiers
    ---*.txt

    -dossier_cible2
    --plein_de_dossiers_et_sous_dossiers
    ---*.txt
    -dossier3
    -dossier4
    Je cherche à copier tous les .txt mais uniquement dans les dossier_cibleX tout en ayant le nom du dossier_cibleX dans une variable pour pouvoir recréer le schéma suivant après copie:
    dossier_quelconque
    -dossier_cible1
    ---*.txt

    -dossier_cible2
    ---*.txt
    J'avais écrit un script mais m'étant pris la tête sur un truc du genre:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    set "value=!path_txt:*\!dossier_cible1!\=!"
    J'ai rage quit...

    Merci pour votre aide les coupains!
    PS: cet émoticône me fait plus penser à une fellation qu'à un câlin... Suis-je le seul à penser cela? ^^
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  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 DevilSnake88,

    Je vais te mettre sur la piste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off&cls
    for /d /r %%a in (dossier_cible*) do echo copy %%a\*.txt vers\ou\tu\veux

    Pour l'emocione je repondrai pas....

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

  3. #3
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Pour l'emocione je repondrai pas....

    Petit coquinou va!

    Alors je vais t'embêter une dernière fois:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for /d /r %%a in (dossier_cible1* dossier_cible2*) do (
        set "path=%%a"
        set "pathname=%%~na"
        for /f "tokens=*" %%q in ('dir /b /s "!path!\*.txt*"') do (
            set "truc=%%q"
            REM !truc! retourne: "C:\UnDossier\dossier_cible1\0-1-originaux\0\00\1fezf5ezfz_pgre\d48fez6ff5.1.txt" donc là on est bons
            for /F "usebackq tokens=4 delims=\ " %%s in (`echo "!truc!" ^| findstr /I /R /C:"!pathname!"`) do (
               REM Retourne: 'findstr' n'est pas reconnu en tant que commande interne
               set "subpathname=%%s"
               echo - !subpathname!
            )
        )
    )
    Grace à ton code précédent (qui a grandement simplifié l'horreur que j'avais pondue au passage xD), j'essaye maintenant d'extraire le dossier suivant le "dossier_cible1" soit "0-1-originaux".
    Mais comme précisé en commentaire, le FINDSTR n'est pas reconnu là et je t'avoue que je ne comprend pas trop pourquoi.
    Aurais-tu une idée?

    En tout cas merci pour ton aide, c'est impeccable comme d'habitude ^^

    EDIT:

    C'est bon avec une bonne pause j'ai retrouvé les idées claires!
    Voici donc la réponse:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    for /F "usebackq tokens=4 delims=\ " %%s in ('echo "!truc!" ^| findstr /C:"!pathname!"') do (...)
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  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
    Et si t'as plus que 4 tokens ????


    perso j'opterais plus pour un schema du type (independent du nombre de \ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off&cls
    setlocal enabledelayedexpansion
    
    set truc="C:\UnDossier\dossier_cible1\0-1-originaux\0\00\1fezf5ezfz_pgre\d48fez6ff5.1.txt"
    set "pathname=dossier_cible1"
    set truc=!truc:%pathname%\=###!
    
    for /F "tokens=2 delims=###" %%x in ('echo !truc!') do (
      for /f "tokens=1 delims=\" %%z in ('echo %%x') do echo %%z)

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

  5. #5
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Et si t'as plus que 4 tokens ????
    La chance fait que cela fonctionne avec mon tokens=4 MAIS ta solution est bien meilleure ^^.
    Merci
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WS 2008 R2] Copie de fichiers depuis un WS2003
    Par Ludo75 dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 15/02/2011, 19h36
  2. copie de fichiers depuis une hierarchie de dossiers
    Par marsupcs dans le forum Administration système
    Réponses: 2
    Dernier message: 22/10/2009, 23h05
  3. copie de fichiers depuis le web
    Par krhyme dans le forum ASP
    Réponses: 1
    Dernier message: 05/06/2008, 22h36
  4. copie de fichiers depuis le web
    Par krhyme dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 05/06/2008, 11h02
  5. copie de fichier depuis internet vers pc
    Par krhyme dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 04/06/2008, 18h12

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