![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как удалить папку [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
СержК © (2005-02-07 11:12:00)Мастера, подскажите - как удалить папку со всем ее содержимым с жесткого диска?
Я когда-то это делал, не могу найти как и где...
Rob (2005-02-07 11:50:00) [1]Сам пользуюсь вот такой конструкцией (где откопал не помню :)):
procedure TMainForm.DeleteTree(DirName:string);
var FindData:TWIN32FindData;
var FindHandle:THandle;
begin
if DirName[Length(DirName)]<>'\' then DirName:=DirName+'\';
FindHandle:=FindFirstFile(PChar(DirName+'*.*'),FindData);
while FindHandle<>INVALID_HANDLE_VALUE do
begin
if not FindNextFile(FindHandle,FindData) then break;
if (string(FindData.cFileName)='.') or (string(FindData.cFileName)='..') then continue;
if FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY<>0 then
begin
DeleteTree(DirName+string(FindData.cFileName));
RemoveDirectory(PChar(DirName+string(FindData.cFileName)));
end;
SetFileAttributes(PChar(DirName+string(FindData.cFileName)),FILE_ATTRIBUTE_NORMAL);
DeleteFile(PChar(DirName+string(FindData.cFileName)));
end;
Windows.FindClose(FindHandle);
RemoveDirectory(PChar(DirName));
end;
Anatoly Podgoretsky (2005-02-07 11:16:00) [2]ShFileOperation