Jak rekurencyjnie przeszukiwać katalogi z wieloma symbolami wieloznacznymi?

Używając C # (.NET), w jaki sposób mogę przeszukać system plików, podając maskę wyszukiwania katalogu taką jak: (?)

\\server\Scanner\images\*Images\*\*_*

Na przykład muszę najpierw znaleźć wszystkie katalogi najwyższego poziomu:

\\server\Scanner\images\Job1Images
\\server\Scanner\images\Job2Images

... potem muszę kontynuować proces wyszukiwania za pomocą maski wyszukiwania:

\\server\Scanner\images\Job1Images\*\*_*
\\server\Scanner\images\Job2Images\*\*_*

To nie wydaje się zbyt skomplikowane, ale nie potrafię tego zrozumieć dla życia mnie ...

Jak wspomniano powyżej, używam C # i .NET. Wyszukiwanie może próbować zlokalizować katalogi lub pliki. (tj. * .txt lub <* Directory>)

questionAnswers(3)

yourAnswerToTheQuestion