久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    判斷文件夾下子文件夾是否為空

     獨(dú)孤求財(cái) 2012-03-20

    判斷文件夾下子文件夾是否為空

    時(shí)間:2011-5-26來源:yang 作者: peng點(diǎn)擊: 19次

    unit unDirOption;

    interface
      uses SysUtils, Classes;

     //查當(dāng)前文件夾下的所有子文件
     procedure SearchFile(DirName: String; var sList: TStrings);
     //判斷文件夾是否為空
     function IsEmptyDir(sDir: String): Boolean;
     //判斷字符串是否為數(shù)字
     function IsNumber(sStr: String): Boolean;
     //刪除文件夾
     procedure DeleteDir(sDirectory: String);
     {
       執(zhí)行刪除文件夾操作
       sFileName -> 要掃描的文件夾路徑  sList -> 用至裝載將掃描到的文件夾
       iDay -> 區(qū)別是掃10個(gè)字符還是8個(gè)字符 (超速是8個(gè),過往車輛是10個(gè))
       iAgoDay -> 要?jiǎng)h除多少天前的記錄
     }
     procedure ExecuteDeleteDir(Const sFileName: String; var sList: TStrings;
       iDay, iAgoDay: Integer);

     //遍歷文件夾及子文件夾的文件
     function MakeFileList(Path,FileExt:string):TStringList ;

    var
        MyFileName: string;

    implementation

    procedure SearchFile(DirName: String; var sList: TStrings);
    Var
      Found: integer;
      SearchRec: TSearchRec;
    begin
      Found := FindFirst(DirName + ‘*.*‘,faAnyFile,searchrec);
      while Found = 0 do
      begin
        if ((SearchRec.Attr and faDirectory)<>0) then  //directory
        begin
          if(SearchRec.Name <> ‘.‘)and(SearchRec.Name <> ‘..‘) then
          begin
            SearchFile(DirName + SearchRec.Name + ‘\‘, sList);
            MyFileName := DirName + SearchRec.Name;
            sList.Insert(0, MyFileName);
          end;
        end;
        Found := FindNext(SearchRec);
      end;
      FindClose(SearchRec);
    end;

    procedure ExecuteDeleteDir(Const sFileName: String; var sList: TStrings;
      iDay, iAgoDay: Integer);
    var
      I: Integer;
      LastDir: String; //文件夾最后幾個(gè)字符
      DirDate: String;//當(dāng)前文件夾的日期
    begin
      SearchFile(sFileName, sList);
      for I := 0 to sList.Count - 1 do
      begin
        if iDay = 10 then    
          LastDir := copy(sList.Strings[i],length(sList.Strings[i])-9,10)
        else LastDir := copy(sList.Strings[i],length(sList.Strings[i])-9,8);
        if IsNumber(LastDir) then
        begin
          DirDate := copy(sList.Strings[i],length(sList.Strings[i])-9,8);
          //此處將字符串轉(zhuǎn)為日期格式
          DirDate := Copy(DirDate,1,4) + ‘-‘ + Copy(DirDate,5,2) + ‘-‘ + Copy(DirDate,7,2);
          if StrToDate(DirDate) < Date - iAgoDay  then  //進(jìn)行條件篩選
          begin
            //判斷文件夾是否為空
            //if IsEmptyDir(sList.Strings[i]) then
              DeleteDir(sList.Strings[i]);
          end;
        end;
      end;
    end;

    function IsEmptyDir(sDir: String): Boolean;
    var
      sr: TsearchRec;
    begin
      Result := True;
      if Copy(sDir, Length(sDir) - 1, 1) <> ‘\‘ then sDir := sDir + ‘\‘;
      if FindFirst(sDir + ‘*.*‘, faAnyFile, sr) = 0 then
        repeat
          if (sr.Name <> ‘.‘) and (sr.Name <> ‘..‘) then
          begin
            Result := False;
            break;
          end;
        until FindNext(sr) <> 0;
      FindClose(sr);
    end;

    function IsNumber(sStr: String): Boolean;
    var
      i,iLength: integer;
    begin  
      iLength := Length(sStr);
      for i := 1 to iLength do
      begin  
        if not (sStr[i] in [‘0‘..‘9‘]) then
        begin
          Result   :=   false;
          exit;
        end  
      end;  
      Result := true;  
    end;  

    procedure DeleteDir(sDirectory: String);
    //刪除目錄和目錄下得所有文件和文件夾
    var
      sr: TSearchRec;
      sPath,sFile: String;
    begin
      //檢查目錄名后面是否有 ‘\‘
      if Copy(sDirectory,Length(sDirectory),1) <> ‘\‘ then
      sPath := sDirectory + ‘\‘
      else
      sPath := sDirectory;

      //------------------------------------------------------------------
      if FindFirst(sPath+‘*.*‘,faAnyFile, sr) = 0 then
      begin
      repeat
      sFile:=Trim(sr.Name);
      if sFile=‘.‘ then Continue;
      if sFile=‘..‘ then Continue;

      sFile:=sPath+sr.Name;
      if (sr.Attr and faDirectory)<>0 then
      DeleteDir(sFile)
      else if (sr.Attr and faAnyFile) = sr.Attr then
      DeleteFile(sFile); //刪除文件
      until FindNext(sr) <> 0;
      FindClose(sr);
      end;
      RemoveDir(sPath);
      //------------------------------------------------------------------
    end;

    {
    //調(diào)用方法
     MakeFileList(‘c:\‘, ‘.ini‘);
    }
    //遍歷文件夾中的文件
    function MakeFileList(Path,FileExt:string):TStringList ;
    var
      sch:TSearchrec;
    begin
      Result:=TStringlist.Create;
      if rightStr(trim(Path), 1) <> ‘\‘ then
        Path := trim(Path) + ‘\‘
      else
        Path := trim(Path);

      if not DirectoryExists(Path) then
      begin
        Result.Clear;
        exit;
      end;

      if FindFirst(Path + ‘*‘, faAnyfile, sch) = 0 then
      begin
        repeat
           Application.ProcessMessages;
           if ((sch.Name = ‘.‘) or (sch.Name = ‘..‘)) then Continue;
           if DirectoryExists(Path+sch.Name) then
           begin
             Result.AddStrings(MakeFileList(Path+sch.Name,FileExt));
           end
           else
           begin
             if (UpperCase(extractfileext(Path+sch.Name)) = UpperCase(FileExt)) or (FileExt=‘.*‘) then
             Result.Add(Path+sch.Name);
           end;
        until FindNext(sch) <> 0;
        SysUtils.FindClose(sch);
      end;
    end;

    end.

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲精品国模一区二区| 中文无码乱人伦中文视频在线| 亚洲VA无码专区国产乱码| 高清无码爆乳潮喷在线观看| 三级网站视频在在线播放| 最新国产乱人伦偷精品免费网站| 69天堂人成无码免费视频| 熟妇人妻中文字幕| 国产乱码1卡二卡3卡四卡5| 狠狠色噜噜狠狠亚洲AV| 亚洲理论在线A中文字幕| 亚洲处破女AV日韩精品| 人人人澡人人肉久久精品| 精品熟女少妇AV免费观看| 午夜精品福利亚洲国产| 激情综合婷婷色五月蜜桃| 美女被强奷到抽搐的动态图| 国精无码欧精品亚洲一区| 久久超碰色中文字幕超清| 日韩精品区一区二区三vr| 久久99精品久久久久久齐齐| 国产破外女出血视频| 香蕉久久一区二区不卡无毒影院 | 中文字幕亚洲制服在线看| 蜜臀久久99精品久久久久久小说| 玩弄漂亮少妇高潮白浆| 中文字幕精品无码一区二区三区| 五月丁香六月综合缴清无码| 亚洲一区成人在线视频| 被黑人伦流澡到高潮HNP动漫| 秋霞鲁丝片成人无码| 国产一区日韩二区三区| 亚洲日韩欧美一区二区三区| 国产美女MM131爽爽爽| 日韩国产中文字幕精品| 精品久久久久久无码人妻热| 久久精品无码鲁网中文电影| 成人无码潮喷在线观看| 亚洲尤码不卡av麻豆| 在厨房被C到高潮A毛片奶水| 又大又黄又粗高潮免费|