private OperationState FindFilesMask(string stPath, string stMask, bool bRecurs) //ищет файлы 1 маски { string[] files = null; SearchOption so = SearchOption.AllDirectories; if (!bRecurs) { so = SearchOption.TopDirectoryOnly; } try { LogStateAdd("Поиск файлов " + stMask + "...", 0); //оказывается родная функция криво ищет файлы //принимает *.htm и *.html за одно и то же //более прямофикс files = FindFiles.Find(stPath, stMask, so); FoundFiles.AddRange(files); } catch (UnauthorizedAccessException UAEx) { LogStateAdd("Ошибка " + UAEx.Message, OperationState.IOError); return(OperationState.IOError); } catch (PathTooLongException PathEx) { LogStateAdd("Ошибка " + PathEx.Message, OperationState.IOError); return(OperationState.IOError); } catch (DirectoryNotFoundException DNFEx) { LogStateAdd("Ошибка " + DNFEx.Message, OperationState.IOError); return(OperationState.IOError); } catch (IOException IOEx) { LogStateAdd("Ошибка " + IOEx.Message, OperationState.IOError); return(OperationState.IOError); } LogStateAdd("Поиск файлов " + stMask + " завершен. Найдено " + files.Length + " файлов", 0); return(OperationState.Success); }