---
title: "Заметка быдла пишущего ногами, запись III"
description: "Рекурсивный метод удаления файлов и вложенных папок по заданному пути: function KillDir (Dir: AnsiSt..."
author: "unauthorized"
published: "2011-12-24T06:15:38+00:00"
modified: "2011-12-24T06:15:38+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/zametka-bydla-pishushchego-nogami-zapis-iii-214693"
markdown_url: "https://yvision.kz/post/zametka-bydla-pishushchego-nogami-zapis-iii-214693/markdown"
site_name: "Yvision.kz"
---

# Заметка быдла пишущего ногами, запись III

> Рекурсивный метод удаления файлов и вложенных папок по заданному пути: function KillDir (Dir: AnsiSt...

Рекурсивный метод удаления файлов и вложенных папок по заданному пути:

```
function KillDir (Dir: AnsiString): boolean; var Sr: SysUtils.TSearchRec; begin {$I-} if (Dir <> '') and (Dir[length(Dir)] = '\') then Delete(Dir, length(dir), 1); if FindFirst(Dir + '\*.*', faDirectory + faHidden + faSysFile + faReadonly + faArchive, Sr) = 0 then repeat if (Sr.Name = '.') or (Sr.Name = '..') then continue; if (Sr.Attr and faDirectory <> faDirectory) then begin if AnsiLowerCase(ExtractFileExt(sr.Name)) = '.tmp' then begin FileSetReadOnly(Dir + '\' + sr.Name, False); DeleteFile(Dir + '\' + sr.Name); end end else KillDir(Dir + '\' + sr.Name); until FindNext(sr) <> 0; FindClose(sr); RemoveDir(Dir); // Удалит пустой каталог KillDir := (FileGetAttr(Dir) = -1); end;
```

---

Source: [https://yvision.kz/post/zametka-bydla-pishushchego-nogami-zapis-iii-214693](https://yvision.kz/post/zametka-bydla-pishushchego-nogami-zapis-iii-214693)