各位大虾,用DELPHI或BCB中如何在WINDOWS中删除一个文件夹。
请给出代码。

解决方案 »

  1.   

    //==============================================================================
    //删除目录(包括子目录一起删除)************************************************
    //==============================================================================
    procedure EraseDir(DirName:string);
    var DirInfo: TSearchRec;
        DosError: Integer;
    begin
      DosError := FindFirst(DirName+'\*.*', FaAnyfile, DirInfo);
      while DosError=0 do
      begin
        if ((DirInfo.Attr and FaDirectory)=faDirectory) and (DirInfo.Name<>'.') and (DirInfo.Name<>'..')
        then EraseDir(DirName + '\' + DirInfo.Name);
        {$IF DEFINED(WIN32) AND DECLARED(UsingVCL)}
        if ((DirInfo.Attr and FaDirectory)<>FaDirectory) and ((DirInfo.Attr and FaVolumeID)<>FaVolumeID)
        {$ELSE}
        if ((DirInfo.Attr and FaDirectory)<>FaDirectory)
        {$IFEND}
        then DeleteFile(pChar(DirName + '\' + DirInfo.Name));
        DosError := FindNext(DirInfo);
      end;
      SysUtils.FindClose(DirInfo);
      RemoveDirectory(PChar(DirName));
    end;
      

  2.   

    SHFileOperation(SHFileOpStruct);
    SHFileOpStruct 结构中,pFrom设为要删除的文件夹名,
    pTo设为nil,wFunc设为FO_DELETE;uses Shellapi;