Как удалить каталог вместе со всеми содержащимися в нем файлами?

Вопрос:
Как удалить каталог вместе со всеми содержащимися в нем файлами?

Ответ:

В примере стираются все
файлы в каталоге и сам каталог. Чтобы удалить файл, помечанные только для чтения
(read only) и занятые другими программами в момент удаления – напишите дополнительную
процедуру.

procedure TForm1.Button1Click(Sender: TObject);
var
	DirInfo: TSearchRec;
	r: integer;
begin
	r := FindFirst('C:\Download\*.*', FaAnyfile, DirInfo);
	while r = 0 do
	begin
		if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
			(DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
		if DeleteFile(pChar('C:\Download\' + DirInfo.Name))= false then
			ShowMessage('Unable to delete: C:\Download\'+DirInfo.Name);
		r := FindNext(DirInfo);
	end;
	SysUtils.FindClose(DirInfo);
	if RemoveDirectory('C:\Download\') = false then
		ShowMessage('Unable to delete directory: C:\Download\');
end;

Комментариев Нет.

Написать Ответ

Вы должны войти чтобы оставить комментарий.