Нельзя указывать подстановочные знаки в аргументе пути, необходимо указать путь и шаблон поиска, см. GetFiles(String, String)
.
Шаблон поиска принимает два подстановочных знака, ?
за одного персонажа и *
за любое количество символов.Следовательно, вам нужно
Directory.GetFiles(@"C:\Users\MyUser\Documents", "ExampleTitle ????.xml")
Если вы планируете сопоставлять только цифры, вам придется использовать регулярное выражение для фильтрации результатов Directory.GetFiles
:
var fileList = Directory.GetFiles(@"C:\Users\MyUser\Documents", "*.xml")
.Where(p => Regex.IsMatch(Path.GetFileName(p), @"^ExampleTitle [0-9]{4}\.xml$"))
.ToList();
Здесь, Directory.GetFiles(@"C:\Users\MyUser\Documents", "*.xml")
извлечет все XML-файлы в данной папке, а те, которые полностью соответствуют шаблону ExampleTitle <4-DIGITS>.xml
, будут возвращены с предложением Where
.