Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Поиск файлов Directory.GetFiles |
Автор: fatalcs 15.1.2013, 12:06 |
Здравтсвуйте. Использую для поиска файлов в папке такой код: string[] MyFiles = Directory.GetFiles(@"D:\\Music\\", @"*1*", SearchOption.AllDirectories); Собственно сам вопрос. Если на месте, выделенным красным, между звёздочками поставить любой символ, то поиск происходит так сказать по заданной маске, а вот если там поставить 1 (единицу) то происходит поиск всех файлов, а не по маске. Как решить проблему? Заранее Благодарен за ответ. Вот что нашёл в МСДН: Так как данный метод проверяет файлы с именами в формате 8.3 и файлы с длинными именами, шаблон поиска типа "*1*.txt" может вернуть неожиданные имена файлов.Например, шаблон поиска "*1*.txt" возвратит "longfilename.txt"", так как соответствующее имя файла в формате 8.3 будет иметь вид "LONGFI~1.TXT". Как это обойти? Чтобы не проверял имена в формате 8.3. |
Автор: Partizan 15.1.2013, 16:38 |
Под ссылкой ниже предлагается повесить дополнительную проверку файлов возвращённых Directory.GetFiles на основе Regex. http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/0aca5c7f-4c18-442f-b306-80a2f62f3dff/ |