Больше по служебной необходимости, и воле случая, чем по собственному желанию.
Инет отсутствовал, компы нормальные все заболели, а утилиту писать надо. Ще було, на том и писали.
Наконец-то нормальный поиск файла, где маска файла работает как надо (как в DOS) и не принимает, например, расширение *.htm
и *.html
за одно и то же. C# мне не удалось этому очевидному решению научить, конечно, можно потом по выборке прогнать регулярное выражение, но оно тоже плохо срабатывает, упускает некоторые случаи, например, если имя файла начинается с расширения (т.е. на файл .html
оно не сработает):
В Lazarus все работает из коробки:
program testfind; uses Classes, SysUtils, FileUtil; var lstFiles:TStringList; i: Integer; begin lstFiles := TStringList.Create; FindAllFiles(lstFiles, 'C:\Temp\Test', '*.htm', true); i:=0; while i < lstFiles.Count do begin WriteLn(lstFiles[i]); inc(i); end; WriteLn ('Found: ',lstFiles.Count); WriteLn ('Press Enter'); ReadLn(); lstFiles.Free(); end.
Пример и каталог с тестовыми файлами на GitHub
UPD: Ссылка на мануал