|
function DeleteFileMask |
Наверх Назад Вперед | |
|
function DeleteFileMask(ADir, AMask : string; ARecurse : boolean; ASDFormula : string := '') : boolean;
Выполняет поиск и удаление файлов в папке ADir, имена которых соответствуют маске AMask. Параметр ARecurse управляет отработкой вложенных каталогов - если ARecurse = true, то будет выполнен рекурсивный обход папок начиная от заданной и в каждой из папок будет выполнен поиск и удаление файлов по маске AMask. После завершения обработки папки в данном случае производится проверка, остались ли в ней файлы - если файлов не осталось, то папка автоматически удаляется. Если ARecurse = false, то поиск и удаление файлов производится только в заданной папке. В параметре AMask можно указать одну или несколько масок. В случае задания нескольких масок они разделяются пробелами, запятыми или точкой с запятой. Т.е. данный варианты задания маски являются эквивалентными: *.exe;*.dll;*.com *.exe,*.dll,*.com *.exe *.dll *.com
Параметр ASDFormula задает алгоритм необратимого удаления файла. По умолчанию алгоритм не задан и производится обычное удаление файла. В случае, если алгоритм задан, то выполняется необратимое удаление всех попадающих под маску файлов путем вызова DeleteFileSecure для каждого удаляемого файла. Важно отметить, что необратимое удаление может идти на порядки медленнее обычного - скорость необратимого удаления зависит от заданного алгоритма.
На заметку: Данная функция опасна и может серьезно повредить системе в случае задания некорректных параметров. Поэтому перед применением функции рекомендуется тщательно проверить ее аргументы.
Совместимость: AVZ 4.28 и выше; параметр ASDFormula появился начиная с версии 4.32 (при этом параметр содержит значение по умолчанию и сохраняется полная совместимость с версией 4.28)
Примеры:
begin // Очистка папки Temp DeleteFileMask('%Tmp%', '*.*', true); end.
begin // Очистка папки Temp - необратимое удаление DeleteFileMask('%Tmp%', '*.*', true, '01ARX'); end. |