Domanda

Sto cercando una libreria C # per ottenere file o directory da una directory usando un modello complesso come quello usato in Ant:

  • dir1 / dir2 / ** / SVN / * - > Corrisponde a tutti i file nelle directory SVN che si trovano in qualsiasi punto dell'albero della directory in dir1 / dir2
  • ** / test / ** - > Corrisponde a tutti i file che hanno un elemento test nel loro percorso, incluso test come nome file.
  • ...

Devo codificarlo da solo? estrarre ciò che voglio da NAnt? O questa libreria esiste e la mia abilità su Google fa schifo.

Directory.GetFiles (String string, String searchPattern) non gestisce il modello di directory e NDepend.Helpers.FileDirectoryPath nessuno dei due (è un'ottima libreria per la manipolazione del percorso)

È stato utile?

Soluzione

Codificarlo da soli non sarebbe così difficile.

Basta usare un'espressione regolare correttamente formulata con i metodi System.IO per creare il percorso completo

Altri suggerimenti

Sei a tuo agio nel definire " * " come "tutt'altro che barra" e " ** " come "niente" " ;? In tal caso, la conversione regex sembra semplice.

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

Quindi si tratta di enumerare ricorsivamente tutti i file e verificare se i loro percorsi corrispondono alla regex.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top