Я должен получить список файлов на некотором диске с путями, который соответствует определенному шаблону, например, FA\d\d\d\d.xml, где \d является цифрой (0,1,2.. 9). Таким образом, файлы могут иметь имена как FA5423.xml.
Что самое эффективное имя должно сделать это?
Вы используете C # 3?
Regex reg = new Regex(@"^FA[0-9]{4}\.xml$");
var files = Directory.GetFiles(yourPath, "*.xml").Where(path => reg.IsMatch(path));
Вы можете сделать что-то вроде:
System.IO.Directory.GetFiles(@"C:\", "FA????.xml", SearchOption.AllDirectories);
Затем из ваших результатов просто пройдитесь по ним и проверьте их на соответствие вашему regex, т.е. что ?
символы в имени - это все цифры
Используйте Directory API, чтобы найти FA ????. Xml
, и пропустите полученный список через фильтр регулярных выражений:
var fa = from f in Directory.GetFiles("FA????.xml")
where Regex.Match(f, "FA\d\d\d\d\.xml")
select f;