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.