Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .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/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)