• Delphi 递归搜索.SVN文件夹并“处理”


    实在是没有想到删除.SVN文件夹是件这么痛苦的事情,最近在整理公司历史资料文件,粗略统计一下600G左右,本想一次提交到服务器上省事,没想到啊没想到,传输中途程序崩掉了,本地文件夹剩下一大堆.svn文件夹。服务器上鉴于原子性什么也没有传上去,还消耗了一大堆空间,打算重新做!准备用系统的查找删除,Win7那个搜索太操蛋了,不能指定类型,时间段,而且整个过程慢——搜索慢、选择慢、执行命令前整理慢。忍无可忍,找相关能指定文件夹删除的工具基本没有,写代码了(未作测试)。
    国庆下班了,节后在试  
    眨眼procedure
     delAllSVN(path: string);
    
    var
      SearchRec: TSearchRec;
      found: integer;
      vFileName: string;
    
    begin
      found := FindFirst(path + '*.*', faAnyFile, SearchRec);
      while found = 0 do
      
    begin
        vFileName := LowerCase(SearchRec.name);
        if (vFileName <> '.') and (vFileName <> '..') and
          ((SearchRec.attr and faDirectory) <> 0) then
        
    begin
          if vFileName <> '.svn' 
    then
            SearchFile(IncludeTrailingPathDelimiter(SearchRec.name))
          else
            delDirectory(vFileName);
        
    end
        else
        
    begin
          // do Other things.....
        
    end
    ;
        found := FindNext(SearchRec);
      
    end
    ;
      FindClose(SearchRec);
    
    end
    ;

    后注:svn 1.8 版本对文件夹标记作了升级,仅仅在主文件夹下建一个 .svn 文件夹,子目录下就不会在出现.svn 文件夹了(估计是这样的,没有系研究)。

    删除目录用的是 http://www.cnblogs.com/hieroly/archive/2012/02/05/2339288.html

  • 相关阅读:
    基于xtrabackup的PointInTime Recovery备份恢复
    使用折半查找法删除
    五月第二周
    MySQL 5.5 外键不能引用分区表主键
    MYSQL 登录漏洞,Percona Server说明
    Detectron2学习笔记 Sanny.Liu
    取客户MAP地址
    DataReader转实体<T>
    从程序员到翻译的感受
    .net中的浅拷贝和深拷贝
  • 原文地址:https://www.cnblogs.com/hieroly/p/3348210.html
Copyright © 2020-2023  润新知