如题

解决方案 »

  1.   

    if RemoveDir('D:\temp) then如果刪除成功了, 就是沒有, 刪除不成功, 就是有
      

  2.   

    可以使用FindFirst函数来判断。详细内容可以参考
    http://expert.csdn.net/Expert/TopicView3.asp?id=2988176
    下面该贴内容
    A、如果不包括子目录则直接将有关子目录的循环直接注释即可
    B、在调用本函数之前必须将FileList初始化
    如FileList:=TStringList.Create;
    C、 sRoot表示需要遍历的目录全名
    D、函数在D7/D6下测试通过
    function DoDirTree(sRoot:String;var FileList:TStrings):boolean;
    var
    i:integer;
    Sr : TSearchRec;
    Err : integer;
    //TrSize, FilePath : string;
    lsPath:TStrings;
    Beginif Copy(sRoot,Length(sRoot),1)<>'\' then
    sRoot := sRoot +'\';
    Err:=FindFirst(sRoot+'*.*',$37,Sr);
    While (Err = 0) do
    begin
    If (Sr.Attr and faDirectory)=0 then
    FileList.Add('2'+sRoot +Sr.Name)
    else
    if (Sr.Name[1] <> '.') then
    DoDirTree(sRoot,FileList) ;Err:=FindNext(Sr) ;
    Application.ProcessMessages;
    end ;Err:=FindFirst(sRoot + '*.',$37,Sr);
    lsPath := TStringList.Create;
    While (Err = 0) do
    begin
    if ((Sr.Attr and faDirectory)<>0)and (Sr.Name[1] <> '.') then
    if DirectoryExists(sRoot + sr.Name) then
    lsPath.Add(sRoot + sr.Name);
    Err:=FindNext(Sr) ;
    Application.ProcessMessages;
    end ;
    for i:=0 to lsPath.Count -1 do
    DoDirTree(lsPath.Strings[i],FileList);
    lsPath.Free;
    Result := True;
    End;
      

  3.   

    同意ymxxm(ymxxm)
    findfirst+循环,