问题描述:
现需读取目信颂前录:“c:\history data”文件夹中所有文件(该文件夹中,只包含.txt和.done文件),需对每个文件进行处理。
另,求将文件转换目录的函数(比如将c:\history data的文件转移到d:\history中)
解析:
procedure FileSearch(PathName:string)
var
F : TSearchRec
Found : Boolean
begin
ChDir(PathName)
Found := (FindFirst('*.*', faAnyFile, F) = 0)
while Found do
begin
if (F.Name = '.') or (F.Name = '..') then
begin
Found := (FindNext(F) = 0)
Continue
end
if (F.Attr and faDirectory)>0 then
begin
Application.ProcessMessages
FileSearch(F.Name)
end
插滑清入你的代码,F.Name就是文樱盯件名,GetCurrentDir可以得到当前目录
Found := (FindNext(F) = 0)
end
FindClose(F)
ChDir('..\')
end
转换目录可以用MoveFile,查一下帮助
没必要去循环删除,速度很慢,桐迹饥直接调用api就行了,如州宴下,直接在uses shellapi之后,局返调用SHMyDelDirectory去删除你的目录.function SHMyDelDirectory(const Source: string): boolean
var
fo: TSHFILEOPSTRUCT
begin
FillChar(fo, SizeOf(fo), 0)
with fo do
begin
Wnd:= 0
wFunc := FO_Delete
pFrom := PChar(Source + #0)
pTo:= #0#0
fFlags := FOF_NOCONFIRMATION + FOF_SILENT
end
Result := (SHFileOperation(fo) = 0)
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)