Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Необходимо поочерёдно удалить каждый файл в папке


Автор: denks 27.6.2006, 12:13
Здравствуйте. У меня возник следующий вопрос. Допустим есть папка. В ней находятся файлы разных типов( к примеру exe и txt).
Так вот, необходимо поочерёдно удалить файлы с заданным расширением. Например удалить все exe файлы. Подскажите пожалуйста, как это реализовать. Заранее спасибо. 

Автор: Romikgy 27.6.2006, 13:00
сначало находишь по очереди , то что нужно а потом удаляешь, 
в поиск тебе.... 

Автор: Poseidon 27.6.2006, 14:12
http://vingrad.ru/DELPHI-DLP-000989
http://vingrad.ru/DELPHI-DLP-002507

Код
Procedure DelFile(Dir:string, FileMask: string); 
var SearchRec:TSearchRec; 
begin 
 if Dir<>'' then if Dir[length(Dir)]<>'\' then Dir:=Dir+'\';  
 if FindFirst(Dir+FileMask, faAnyFile, SearchRec)=0 then repeat  
   if (SearchRec.name='.') or (SearchRec.name='..') then continue;  
   if (SearchRec.Attr and faDirectory)<>0 then  
     ScanDir(Dir+SearchRec.name) 
   else  
     DeleteFile(Dir+SearchRec.name); 
 until FindNext(SearchRec)<>0;  
 FindClose(SearchRec);
end; 


procedure TForm1.Button1Click(Sender: TObject); 
begin 
 DelFile('c:\Моя папка', '*.exe');  
end;
 

Автор: denks 27.6.2006, 14:19
Спасибо большое. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)