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 :

Lister des fichiers avec extension seulement dans les répertoires portant un nom bien spécifique [Batch]


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Lister des fichiers avec extension seulement dans les répertoires portant un nom bien spécifique
    Bonjour,

    Je galère à écrire un petit script qui ferait la chose suivante:

    - lister les fichiers portant l'extension "*_mireA.jpg" seulement dans les dossiers et sous-dossiers portant le nom "toto" de mon projet. Le script se trouve à la racine du projet.

    J'ai tenté deux choses:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "delims=" %%a In ('dir /ad/b/s  "toto" ') Do (
    		echo %%a
    )

    Qui donne le résultat suivant:
    Projet\A\Cores\toto
    Projet\B\Cores\toto
    Projet\C\Cores\toto
    Projet\D\Cores\toto
    ...
    Je n'ai pas l'affichage après \toto.

    Et j'ai tenté en second lieu
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /r . %%i in (*_mireA.jpg) do (
    	echo "%%i"
    )

    Ce qui donne:
    Projet\A\Cores\toto\essai1_mireA.jpg
    Projet\B\Cores\toto\essai2_mireA.jpg
    Projet\C\Cores\toto\essai3_mireA.jpg
    Projet\D\Cores\toto\essai4_mireA.jpg
    Projet\A\Cores\tata\essai5_mireA.jpg
    Projet\B\Cores\tata\essai6_mireA.jpg
    Projet\C\Cores\tata\essai7_mireA.jpg
    Projet\D\Cores\tata\essai8_mireA.jpg

    J'ai bien la liste des fichiers avec l'extension "*_mireA.jpg" mais pas uniquement dans les répertoires (et sous répertoires) "toto"
    J'ai aussi ceux des répertoires tata...

    Merci pour votre coup de main.

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    Remplace le point par un chemin d'accès (ici: "C:\Projet")

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /r "C:\Projet" %%i in (*_mireA.jpg) do (
      echo "%%i"
    )
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Cela ne fonctionne pas...
    Je me suis peut-être mal exprimé...Je vais essayer d'être un peu plus clair:

    Dans l'arborescence de mon projet (qui peut être effectivement "C:\Nom_Projet") il y a des répertoires nommés "toto", qui sont placés à différents niveaux. Ils sont donc enfouis un peu partout dans le répertoire du projet. Ces répertoires "toto" contiennent plusieurs fichiers ".jpg", mais je ne cherche que ceux ayant pour suffixe "*_mireA.jpg".

    Ma question est toute simple: comment lister tous les fichiers "*_mireA.jpg" qui sont situés uniquement dans les répertoires "toto" de mon projet?

    J'espère avoir été plus explicite.
    Merci bien.

  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
    Une méthode :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
     
    for /f %%a in ('dir /b/s/ad') do (
      if /i "%%~na"=="toto" dir /b/aa %%a\*mireA.jpg && echo dans -^> %%a
    )

    remplace juste toto par le repertoire voulu.

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

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    On y est presque, cela fonctionne à peu près: parfois j'ai "Fichier introuvable" qui se ballade dans les résultats de recherche. Je ne comprends pas pourquoi.

    Est-ce parce qu'il n'existe pas de fichier "*mireA.jpg" dans le répertoire "toto" trouvé?

  6. #6
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    Tu peux essayé avec une fonction récursive

    Code bat : 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
    @echo off
     
    echo.
    echo.
    echo ===== TOTO =====
    call :RecursiveSearchPath "%cd%"
    echo ================
    echo.
    echo.
    exit /b
     
    :RecursiveSearchPath
    for /d %%a in ("%~1\*") do (
      if "%%~na"=="toto" (
        call :TotoProcessing "%%~a"
      )
      call :RecursiveSearchPath "%%~a"
    )
    goto :eof
     
    :TotoProcessing
    for /r "%~1" %%i in (*_mireA.jpg) do (
      echo "%%~i"
    )
    goto :eof

    mais tu es limité a 593 récursions.
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

  7. #7
    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
    On y est presque, cela fonctionne à peu près: parfois j'ai "Fichier introuvable" qui se ballade dans les résultats de recherche. Je ne comprends pas pourquoi.

    Est-ce parce qu'il n'existe pas de fichier "*mireA.jpg" dans le répertoire "toto" trouvé?
    Exactement !

    C'est lorsqu'il trouve un repertoire TOTO et que celui-çi ne contient pas de fichier *_mireA.jpg

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

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

Discussions similaires

  1. Lister des fichiers avec QFileSystemInfo
    Par NiarK-74 dans le forum Qt
    Réponses: 11
    Dernier message: 05/03/2012, 13h28
  2. Réponses: 8
    Dernier message: 23/03/2009, 14h51
  3. Réponses: 6
    Dernier message: 13/11/2008, 19h20
  4. Réponses: 3
    Dernier message: 04/07/2008, 11h07
  5. [Conception] Lister des fichiers avec une URL
    Par dontDeleteMe dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 20/03/2007, 08h16

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