Res := FindFirst('Models\*\ЛМ-68.md', faAnyFile, F); Не находит. Если сказать тупо: Res := FindFirst('Models\ЛМ, ЛВС\ЛМ-68.md', faAnyFile, F); То да, он честно находит ЛМ-68.md Но название папки-то заранее не известно, вот в чём суть.
Но для этого надо написать поиск папок, а этого я тоже не умею так как параметр faDir выдаст мне просто названия файлов без точки
А не надо искать с faDir, ищи с faAnyFile и потом проверяй поле SearchRec.Attr ...
Кстати, ничего писать самому уже не надо (в смысле, соответствие маске), все есть в Дельфи...
uses { ... ,} Masks;
procedure FindFiles(const Path, Mask: String; FileList: TStrings); var SRec: TSearchRec; Dir: string; begin Dir := IncludeTrailingPathDelimiter(Path); if FindFirst(Dir + '*.*', faAnyFile, SRec) <> 0 then Exit; try repeat if (SRec.Name = '.') or (SRec.Name = '..') then Continue; if (SRec.Attr and faDirectory) = faDirectory then // Вот проверка, папка или нет FindFiles(Dir + SRec.Name, Mask, FileList) else begin if MatchesMask(Dir + SRec.Name, Mask) then begin FileList.Add(Dir + SRec.Name); end; end; until FindNext(SRec) <> 0; finally FindClose(SRec); end; end;