deletefile(deletefile是什么意思)

如果只是用于删除的话,建议使用批处理吧deletefile。。方便快捷。

deletefile(deletefile是什么意思)

deletefile(deletefile是什么意思)

function DoRemoveDir(sDirName:String):Boolean;

var

hFindFile:Cardinal;

tfile:String;

sCurDir:String;

bEmptyDir:Boolean;

FindFileData:WIN32_FIND_DATA;

begin

//如果删除的是空目录,则置bEmptyDir为True

//初始时,bEmptyDir为True

bEmptyDir:=True;

//先保存当前目录

sCurDir:=GetCurrentDir;

SetLength(sCurDir,Length(sCurDir));

ChDir(sDirName);

hFindFile:=FindFirstFile( \'*.* \',FindFileData);

if hFindFile < > INVALID_HANDLE_VALUE then

begin

repeat

tfile:=FindFileData.cFileName;

if (tfile= \'. \') or (tfile= \'.. \') then

begin

bEmptyDir:=bEmptyDir and True;

Continue;

end;

//不是空目录,置bEmptyDir为False

bEmptyDir:=False;

if FindFileData.dwFileAttributes=

FILE_ATTRIBUTE_DIRECTORY then

begin

if sDirName[Length(sDirName)] < > \'\\ \' then

DoRemoveDir(sDirName+ \'\\ \'+tfile)

else

DoRemoveDir(sDirName+tfile);

if not RemoveDirectory(PChar(tfile)) then

result:=false

else

result:=true;

end

else

begin

if not DeleteFile(PChar(tfile)) then

result:=false

else

result:=true;

end;

until FindNextFile(hFindFile,FindFileData)=false;

FindClose(hFindFile);

end

else

begin

ChDir(sCurDir);

result:=false;

exit;

end;

//如果是空目录,则删除该空目录

if bEmptyDir then

begin

//返回上一级目录

ChDir( \'.. \');

//删除空目录

RemoveDirectory(PChar(sDirName));

end;

//回到原来的目录下

ChDir(sCurDir);

result:=true;

end;

procedure DeleteDir(sDirectory: WideString);varsr: TSearchRec;sPath, sFile: WideString;begin//检查目录名后面是否有 \'\\\'if Copy(sDirectory,Length(sDirectory),1) <> \'\\\' thensPath := sDirectory + \'\\\'elsesPath := sDirectory;if FindFirst(sPath+\'*.*\',faAnyFile, sr) = 0 thenbeginrepeatsFile:=Trim(sr.Name);if sFile=\'.\' then Continue;if sFile=\'..\' then Continue;sFile:=sPath+sr.Name;if (sr.Attr and faDirectory)<>0 thenDeleteDir(sFile)else if (sr.Attr and faAnyFile) = sr.Attr thenDeleteFile(sFile); //删除文件until FindNext(sr) <> 0;FindClose(sr);end;RemoveDir(sPath);end;给你一个之前写的类似的函数参考下,我懒得拆了,这个函数是传入一个路径 然后把该路径下所有文件包括文件夹都删掉