怎么批量删除某个目录下的文件? ( 积分: 50 )

W

woainin

Unregistered / Unconfirmed
GUEST, unregistred user!
我一个目录下有如下文件:
2132.txt ,
fdsafas.txt ,
abcde.txt ,
fdsjk.txt ...
我先想把文件名中没有bc两个字母的文件删除,即只留下abcde.txt文件,
我知道deletefile函数可以删除一个文件,但怎么来批量删除符合某些条件的文件呢?
 
我一个目录下有如下文件:
2132.txt ,
fdsafas.txt ,
abcde.txt ,
fdsjk.txt ...
我先想把文件名中没有bc两个字母的文件删除,即只留下abcde.txt文件,
我知道deletefile函数可以删除一个文件,但怎么来批量删除符合某些条件的文件呢?
 
procedure TForm1.Button1Click(Sender: TObject);
const
FILE_PATH = 'C:/新建文件夹/';
FILE_MASK = '*.txt';
var
sr: TSearchRec;
iFound: Integer;
begin
try
iFound := FindFirst(FILE_PATH + FILE_MASK, 0, sr);
while iFound = 0 do
Begin
If Pos('bc', sr.Name)=0 then
DeleteFile(FILE_PATH + sr.Name);
iFound := FindNext(sr);
end;
finally
FindClose(sr);
end;
end;
 
建一个批处理文件del.bat用
winexec('del.bat')试试
 
xianguo兄,
我按你的方法,但是在If Pos('bc', sr.Name)=0 then
行报错----- incompatible types
怎么来解决,
我是不是要把sr.name转化为string型?谢谢
 
xianguo兄
非常谢谢你,
我把50分全给你,明天结贴
 
那个问题已经解决了
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
395
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
718
import
I
顶部