Batch recherche dossiers commence par "expre"

Résolu
Bonjour,
je voudrais faire un programme en awk sous batch pour qu'il me recherche dans les fichiers du dossier et de ces sous dossiers.
Option1 - les fichiers d'une extension htm
Option2 - les dossiers qui commence par "profile_"

J'ai fait l'option1 (recherche fichiers extension htm)

set A="Rep"   
cd  %A%   
for /F "delims=" %%a in ('dir /b/s *.htm') do (   
awk -f fichier.awk "%%a" >> result.csv 
)


Merci de me montré comment faire pour l'option 2 => "dossiers qui commence par "profile_" "

8 réponses

  1. Contributeur
    hello
    option 2:
    for /F "delims=" %%a in ('dir /b/s/a:d profile_*.*') do (   
    
    1. Re,

      oui c'est la meuilleure solution , je vote ;)
  2. salut

    vous pouvez faire ceci de la même manière :

    for /F "delims=" %%a in ('dir /d profile_*') do (
    votre commande
    )
    1. Non désolé, ca ne marche pas avec aucune des suggestions
      voici mon code:

      set A="Rep"   
      cd  %A%   
      for /F "delims=" %%a in ('dir /b/s/a:d profile_*.*') do (   
      awk -f fichier.awk "%%a" >> _result.csv 
      ) 
      

      Voici un exemple du nom d'un de mes dossiers => profile_TH204785_ze
      1. Contributeur
        la boucle retourne un nom de répertoire, il faut faire
        awk -f fichier.awk "%%a"\nom_du_fichier

        ou que veux-tu faire ?
    2. je comprend, mais je veut juste rechercher les fichiers htm qui se trouve dans les sous dossiers qui commencent par "profile_", car j'en ai beaucoup de sous dossiers, et je veut que mon robot cherche juste dans les sous dossiers important (qui commencent par "profile_")

      Merci beaucoup pour votre aide
      1. Contributeur
        je ferais comme ça
        for /F "delims=" %%a in ('dir /b/s *.htm | findstr "\profile_"') do ( 
        1. Non plus, j'ai même ajouté une étoile après,
          mais toujours rien..
          Voici un exemple du nom d'un de mes dossiers => profile_TH204785_ze

           set A="C:\Documents and Settings\moi\Mes documents\Website Ripper Copier\dossier"  
          cd  %A%  
          for /F "delims=" %%a in ('dir /b/s *.htm ') do (  
          awk -f fichier.awk "%%a" >> first_result.csv
          )
          1. Contributeur
            il manquait un ^, je n'avais pas testé dans un .bat
            vérifie en affichant les fichiers trouvés, ça doit fonctionner
            for /F "delims=" %%a in ('dir /b/s *.htm ^| findstr  "\profile_"') do ( 
            echo %%a  
            )