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/

10-09 02:51