`
a5728238
  • 浏览: 4014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

删除svn文件夹的程序

阅读更多
   我离开上家公司的时候,带走了以前在公司开发用到的文档和工程代码,发现整个一套下来有接近20个G的容量,发现其中很大一部分是svn的版本记录,就是.svn文件夹。因为已经离开了上家公司,所以这些svn版本管理信息就没必要放在那占用空间,上网查询下是否有现成的工具去删除svn文件夹,发现如果是linux的话还好办直接通过控制台shell命令就可以删除,但是windows的话需要改注册表增加一个鼠标右击菜单选项来执行删除操作,因为我们删除svn这种事情很少执行,没必要为了一次删除增加右击菜单选项,而且执行完了还需要删除这个选项,操作比较麻烦,所以自己通过java写了一个删除指定目录下指定文件名的类,发现删除后20g空间变成10g左右,而且执行速度比较快,比我们直接删除还清理垃圾站效率高,所以拿出了给大家分享一下。
java文件如下
package jdj.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class DeleteSVN {
    private static Integer i = 0;
	private static String fileName;
	private static String deleteFileName;
	static{
		Properties properties = new Properties();
		try {
			//从配置文件读取删除路径和删除文件名
			String proFileName = DeleteSVN.class.getClassLoader().getResource("delete.properties").getPath();
			FileInputStream fis = new FileInputStream(proFileName);
			properties.load(fis);
			fileName = properties.getProperty("fileName");
			deleteFileName = properties.getProperty("deleteFileName");
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 用于执行删除文件,递归调用
	 * @author jiang
	 * 日期: 2011-12-06
	 * @param fileName 删除文件的路径
	 */
	public static void  deleteSvn(String fileName){
		File svnFile = new File(fileName);
		if(svnFile.isDirectory()){
			File[] svnFiles = {};
			try {
				svnFiles =svnFile.listFiles();
			} catch (Exception e) {
				System.out.println(svnFile.getPath());
			}
			if(svnFiles!=null&&svnFiles.length>0){
		for(File file:svnFiles){
			if(deleteFileName.equals(file.getName())){
				deleteSubFiles(file);
				boolean flag = file.delete();
				if(flag){
				synchronized (i) {
					i++;
					System.out.println("删除文件个数为:"+i+",文件名为:"+file.getPath());
				}
				}
			}
			if(file.isDirectory()){
				deleteSvn(file.getPath());
			}
		}
			}
		}
		 
	}
	
	public static void  deleteSvn(){
		deleteSvn(fileName);
	}
	
	/**
	 * 用于执行删除文件夹下面的东西,递归调用
	 * @author jiang
	 * 日期: 2011-12-06
	 * @param file 要删除文件
	 */
	public static void  deleteSubFiles(File file){
		for(File subFile:file.listFiles()){
			if(!subFile.isDirectory()){
				subFile.delete();
			}else{
				deleteSubFiles(subFile);
				subFile.delete();
			}
		}
	}
	
	public static void main(String[] args) {
		DeleteSVN.deleteSvn();
		System.out.println("删除文件个数为:"+DeleteSVN.i);
	}
}


delete.properties文件有如下内容
fileName=H:
deleteFileName=.svn
分享到:
评论

相关推荐

    .svn文件夹删除程序

    使用svn的同胞,.svn隐藏文件非常难以删除,所以我做了一个递归删除的程序。请小心使用,一经删除,不能恢复。

    删除文件夹中svn残留文件

    1.直接执行注册表脚本程序 2.会在右键文件夹,弹出列表项中出现DeleteSVN选项 3.点击DeleteSVN选项,就会删除该文件夹下所有有关svn的控制文件 4.该脚本用于xp,win7等系统

    批量删除项目中的SVN.rar

    删除项目中的所有svn文件夹,一定要将此Bat程序放到你要删除svn文件夹的工程目录下面,避免误删操作。

    svn自动清除 工具

    当用已有svn文件程序创建另外一个库的时候,会因为该项目下有svn文件而不能用原项目新建另一个项目,此工具会添加到注册表里面,添加以后如果想清除原项目下的svn文件夹,直接点击右键,清除即可

    删除SVN工具

    完全删除程序中的SVN文件夹,添加到注册表后右键删除

    SVN的Myeclipse配置、SVN、SVN-1.6

    这里面有七个文件,包括svn的安装程序和语言包;svn使用教程;svn如何手动配置到Myeclipse里面 svn配置教程: 安装eclipse, SVN插件 1、从官网下载site-1.6.9.zip文件,网址是:subclipse.tigris.org 2、从中解压出...

    SVN配置文件删除小工具

    点击后鼠标右键会有显示,右键点击文件夹,然后执行这个删除程序,所有SVN配置右键就都会被删除掉了。

    谷歌浏览器美化版 SVN 2475 (2008.9.23)

    现在此文件夹里的内容已经移动到了执行程序的文件夹里,删除整个目录就等于完全卸载。 3. 修复了最后关闭浏览器时无法记住最后状态(最大化或普通大小)的BUG。 4. 在关于对话框中显示SVN版本号和日期。

    SVN培训资料.pptx

    2、SVN的安装 服务器上的ip+端口号+工程名称 存放在本地的文件夹路径 SVN培训资料全文共52页,当前为第9页。 2、SVN的安装 在弹出对话框中选择永久接受,这样可以避免每次提示选择(图一),然后验证身份,输入...

    TortoiseSVN客户端程序

    实际上我们源guestbook中的内容已经导入 repos1 版本库了,源 guestbook 文件夹可以删除了。 需要注意的是,这一步操作可以完全在另一台安装了 TortoiseSVN 的客户机上进行。例如运行svnserve的主机的IP是133.96.121...

    SVN客户端用户使用手册

    到共享文件夹下,下载TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi安装程序,双击直接安装即可。安装成功后,右键单击鼠标会多出两个选项,分别是SVN checkout和Tortoise SVN。 第二步:建立工作区 项目开始之前,在...

    SVN操作手册中文版网页格式

    4.14.1. 正在删除文件/文件夹 4.14.2. 移动文件和文件夹 4.14.3. 改变文件名称大小写 4.14.4. 处理文件名称大小写冲突 4.14.5. 修复文件改名 4.14.6. 删除未版本控制的文件 4.15. 撤消更改 4.16. 清理 4.17....

    svn-1.4.3-setup.exe.7z

    在我的公司,我可以使用 SMB(普通的 windows 文件访问)直接访问服务器的文件夹,所以我直接在那里创建一个目录,运行 TortoiseSVN 命令TortoiseSVN → 在此创建版本库...,然后一个新的项目建立了... 如果你使用 ...

    使用Subversion进行版本控制(针对 Subversion 1.4)

    独立的 WebDAV 应用程序 Microsoft Office,Dreamweaver,Photoshop Cadaver,DAV 浏览器 文件浏览器 WebDAV 扩展 Microsoft Web 文件夹 Nautilus,Konqueror WebDAV文件系统实现 WebDrive,NetDrive Mac OS X Linux...

    TortoiseSVN和TortoiseMerge的中文帮助文档(chm格式)

    4.14.1. 正在删除文件/文件夹 4.14.2. 移动文件和文件夹 4.14.3. 处理文件名称大小写冲突 4.14.4. 修复文件改名 4.14.5. 删除未版本控制的文件 4.15. 撤消更改 4.16. 清理 4.17. 项目设置 4.17.1. Subversion 属性 ...

    php自定义函数之递归删除文件及目录

    复制代码 代码如下: /*—————————————————— */ //– 递归删除文件及目录 //– 例: del_dir (‘../cache/’);注意:返回的/是必须的 //– $type 强制删除...== false) { //.svn 忽略 svn 版本控制信

    subversion-merge-conflict-resolver:Subversion树冲突解决程序

    Subversion树冲突解决程序当开发人员移动/重命名/删除文件或文件夹时,另一个开发人员也已经移动/重命名/删除或修改了文件或文件夹,就会发生树冲突。 有许多不同的情况可能导致树冲突,并且所有这些情况都需要不同...

    APKTool批处理版l

    汉化的第一步,是汉化res文件夹里面的程序界面资源。一般来说,这个文件夹里面会包含以下文件夹: Drawable:程序调用的图标以及各种图片; layout-land:竖版界面xml描述文件; layout-port:横版界面xml描述文件;...

    Python实现文件复制删除

    其实只是简单地把debug 目录下的配置文件复制到指定目录,把Release下的生成文件复制到同一指定,过滤掉不需要的文件夹(.svn),然后再往这个指定目录添加几个特定的文件。  这个是我的第一个python小程序。  下面...

    subversion-TortoiseSVN-使用手册(CHM+HTML,中英完整版)

    3.2.5. 使用svn+ssh的认证 3.2.6. svnserve以路径为基础的授权 4. 版本库 4.1. 创建版本库 4.1.1. 使用命令行工具创建版本库 4.1.2. 使用TortoiseSVN创建版本库 4.1.3. 本地访问版本库 4.2. 版本库备份 4.3. 钩子...

Global site tag (gtag.js) - Google Analytics