Cerca il file nella directory usando un modello complesso
-
03-07-2019 - |
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)
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.