PDA

Просмотр полной версии : Удаление всех папок по указанной траектории.


СерёгаКот
30.10.2012, 13:21
Всем привет. Помогите пожалуйста, нужно удалить все файлы из папки "Cache", но не удалять саму папку!

Путь:
E:\WoW\Cache

Заранее спасибо. Если можно с комментариями и желательно исходником...

metraz
30.10.2012, 14:52
procedure DeleteDir1();
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 not DeleteFile(pChar('C:\Download\' + DirInfo.Name)) then
ShowMessage('Unable to delete: C:\Download\'+DirInfo.Name);
r := FindNext(DirInfo);
end;
SysUtils.FindClose(DirInfo);
if not RemoveDirectory('C:\Download\') then
ShowMessage('Unable to delete directory: C:\Download\');
end;

{ WinAPI }
procedure procedure DeleteDir2();
var lpFileOp: TSHFileOpStruct;
begin
FillChar(lpFileOp,SizeOf(lpFileOp),0);
lpFileOp.Wnd := Handle;
lpFileOp.wFunc := FO_DELETE;
lpFileOp.pFrom := PChar(Edit1.Text);
lpFileOp.fFlags := FOF_NOCONFIRMATION;
SHFileOperation(lpFileOp);
end;


Переделай под себя. Первая ссылка в яндексе. Впредь не будьте столь ленивы поискать.