Question

Je recherche une bibliothèque C # pour obtenir des fichiers ou un répertoire à partir d'un répertoire en utilisant un modèle complexe comme celui utilisé dans Ant:

  • dir1 / dir2 / ** / SVN / * - > Correspond à tous les fichiers des répertoires SVN situés n'importe où dans l'arborescence sous dir1 / dir2
  • ** / test / ** - > Correspond à tous les fichiers contenant un élément de test dans leur chemin, y compris test en tant que nom de fichier.
  • ...

Dois-je coder moi-même? extraire ce que je veux de NAnt? Ou cette bibliothèque existe et ma compétence google est nulle.

Directory.GetFiles (chemin de chaîne, String searchPattern) ne gère pas le modèle de répertoire et NDepend.Helpers.FileDirectoryPath non plus (c’est une excellente bibliothèque pour la manipulation de chemins d’accès)

Était-ce utile?

La solution

Le coder vous-même ne serait pas si difficile.

Utilisez simplement une expression régulière correctement formulée avec les méthodes System.IO pour générer le chemin complet

Autres conseils

Êtes-vous à l'aise avec la définition de " * " comme "tout sauf slash" et " ** " comme "quoi que ce soit"? Si tel est le cas, la conversion des expressions rationnelles semble simple.

*   -> [^\/]*
**  -> .*

Ensuite, il faut énumérer tous les fichiers de manière récursive et vérifier si leurs chemins correspondent à la regex.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top