ojit_pre
我收到操作系统错误5:访问被拒绝
当我使用相同的代码删除文件时说wwj.txt可以正常工作,但不适用于文件夹我在做什么错呢?
最佳答案
请改用RemoveDir()过程。确保它不是您的应用程序的当前目录,也不是其他任何目录,否则将保持不变。必须使用SysUtils来获取功能。
如果需要,请首先删除目录的内容(如下)。可以递归删除,并考虑“。”的含义。测试您是否使用带有“。”的目录或文件。
procedure DeleteFiles( szDBDirectory : string );
var
szFile : string;
SearchRec: TSearchRec;
szSearchPath : string;
nResult : integer;
begin
szSearchPath := szDBDirectory;
nResult := FindFirst(szSearchPath + '\*.*', faAnyFile, SearchRec);
try
while 0 = nResult do
begin
if('.' <> SearchRec.Name[1]) then
begin
szFile := szSearchPath + '\' + SearchRec.Name;
{$IFDEF DEBUG_DELETE}
CodeSite.Send('Deleting "' + szFile + '"');
{$ENDIF}
FileSetAttr(szFile, 0);
DeleteFile(szFile);
end;
nResult := FindNext(SearchRec);
end;
finally
FindClose(SearchRec);
end;
end;
关于delphi - 无法使用deletefile命令删除文件夹,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1465542/