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
Delphi 递归搜索.SVN文件夹并“处理”的更多相关文章
- Java递归搜索指定文件夹下的匹配文件
import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Queue; /** ...
- window下删除所有带.svn文件夹及文件,删除所有的.svn文件夹
(一)------------------------------------------------------------------------------------------------- ...
- java实现基于关键字的文件夹(文件)的搜索、文件夹(文件)的复制、删除
最近在做一个项目,需要实现这几项功能,上网查了很多资料,自己研究了好几天终于实现了,现在与大家分享一下. 一.JAVA实现文件夹的搜索 在百度搜索N个技术文章,从哪些大牛们共享的资料中终于写出了我 ...
- Windows下.svn文件夹的最简易删除方法(附linux)
如果想删除Windows下的.svn文件夹,通过手动删除的渠道是最麻烦的,因为每个文件夹下面都存在这样的文件.下面是一个好办法:建立一个文本文件,取名为kill-svn-folders.reg(扩展名 ...
- 递归找到多级文件夹中所有pdf文件的py程序
因个人需要,写了一个可以递归找到多级文件夹中所有pdf的小程序,发布出来供有需要的人参考或使用. import os import re import shutil from os.path impo ...
- 批量删除.svn文件夹、.svn文件
使用svn进行版本控制,每个文件夹下都有.svn文件夹,有些项目在脱离svn版本控制之后,想删除项目中所有的.svn文件夹,可用下面的方法进行快速删除: 1.打开要删除.svn文件的最外层文件夹, ...
- Linux 递归批量删除文件夹或文件的命令
笔者有一次Linux服务器上的网站被别人在每一个文件夹下恶意注入了目录和文件,由于项目的目录太多,手动删除费时费力,最后用Linux的命令批量删除了注入内容.相关命令介绍如下: 递归批量删除文件夹: ...
- 清除SVN获取文件的所有.svn文件夹
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\清除SVN信息] @=&qu ...
- [转载]删除所有的.svn文件夹
Windows 下,在DOS窗口中运行如下命令 dos 代码 for /r <你项目的路径> %i in (.svn) do rd /s /q %i Linux 下,可以先运行 显示出当前 ...
随机推荐
- Android TestView文本文字修改实例
这里我们给大家总结了下关于Android TextView文本文字的常用两种应用,一种是像我们使用微信会看到长文件是可以折叠显示了,还有一种就是TextView文字颜色TextColor焦点效果,下面 ...
- slf4j+log4j配置
下载三个包: 三个包分别是:log4j的API包,slf4j的API包,slf4j对log4j的适配包. 选择使用slf4j一个重要的原因是支持占位符{},不用频繁操作字符串对象. 实现代码如下: i ...
- Centos6.5(final)安装gcc和g++,python以及导致问题的解决方法
安装gcc:yum install gcc 安装g++:yum install gcc-c++ 安装python: centos默认是2.6的版本, 下载python ,我下载的是2.7.10. 1 ...
- 【SMS】移动短信网关返回信息状态代码说明【China Mobile】
1 由SMSC返回的一般结果状态报告 含义 说明 处理建议DELIVRD 消息发送成功 用户成功接收到短信 ??EXPIRED 因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上 ...
- linu流量监控
iftophttp://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858923.html 默认是监控第一块网卡的流量iftop 监控eth1iftop ...
- win2003以isapi的方式配置php+mysql环境(安装了shopEX)
一.准备相关组件 mysql-installer-community-5.5.29.0.zip php-5.2.17-Win32-VC6-x86 ZendOptimizer-3.3.3-Windows ...
- HTML自动换行的问题
有时文本文字已经超过所在的区域,但是文字还是不自动换行 可以用强制换行 强制不换行div{ white-space:nowrap;}自动换行div{ word-wrap:break-word; wor ...
- Webservice SOAP传输序列化总结 以及webservice之序列化以及反序列化实例
一.所有Webservice中传递的对象都必须能够序列化,这个是作为在网络之间传输的必要条件.XML WebService和SOAP标准支持的数据类型如下: 1.基本数据类型. 标准类型,如:int ...
- 微软ASP.NET MVC 学习地址
微软ASP.NET MVC4.0学习地址:http://www.asp.net/mvc
- AppSetting ,connectionStrings配置节
<appSettings> <!-- 当前使用的学校代码 --> <add key="DefaultCompanyID" value="cs ...