我离开上家公司的时候,带走了以前在公司开发用到的文档和工程代码,发现整个一套下来有接近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隐藏文件非常难以删除,所以我做了一个递归删除的程序。请小心使用,一经删除,不能恢复。
1.直接执行注册表脚本程序 2.会在右键文件夹,弹出列表项中出现DeleteSVN选项 3.点击DeleteSVN选项,就会删除该文件夹下所有有关svn的控制文件 4.该脚本用于xp,win7等系统
删除项目中的所有svn文件夹,一定要将此Bat程序放到你要删除svn文件夹的工程目录下面,避免误删操作。
当用已有svn文件程序创建另外一个库的时候,会因为该项目下有svn文件而不能用原项目新建另一个项目,此工具会添加到注册表里面,添加以后如果想清除原项目下的svn文件夹,直接点击右键,清除即可
完全删除程序中的SVN文件夹,添加到注册表后右键删除
这里面有七个文件,包括svn的安装程序和语言包;svn使用教程;svn如何手动配置到Myeclipse里面 svn配置教程: 安装eclipse, SVN插件 1、从官网下载site-1.6.9.zip文件,网址是:subclipse.tigris.org 2、从中解压出...
点击后鼠标右键会有显示,右键点击文件夹,然后执行这个删除程序,所有SVN配置右键就都会被删除掉了。
现在此文件夹里的内容已经移动到了执行程序的文件夹里,删除整个目录就等于完全卸载。 3. 修复了最后关闭浏览器时无法记住最后状态(最大化或普通大小)的BUG。 4. 在关于对话框中显示SVN版本号和日期。
2、SVN的安装 服务器上的ip+端口号+工程名称 存放在本地的文件夹路径 SVN培训资料全文共52页,当前为第9页。 2、SVN的安装 在弹出对话框中选择永久接受,这样可以避免每次提示选择(图一),然后验证身份,输入...
实际上我们源guestbook中的内容已经导入 repos1 版本库了,源 guestbook 文件夹可以删除了。 需要注意的是,这一步操作可以完全在另一台安装了 TortoiseSVN 的客户机上进行。例如运行svnserve的主机的IP是133.96.121...
到共享文件夹下,下载TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi安装程序,双击直接安装即可。安装成功后,右键单击鼠标会多出两个选项,分别是SVN checkout和Tortoise 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....
在我的公司,我可以使用 SMB(普通的 windows 文件访问)直接访问服务器的文件夹,所以我直接在那里创建一个目录,运行 TortoiseSVN 命令TortoiseSVN → 在此创建版本库...,然后一个新的项目建立了... 如果你使用 ...
独立的 WebDAV 应用程序 Microsoft Office,Dreamweaver,Photoshop Cadaver,DAV 浏览器 文件浏览器 WebDAV 扩展 Microsoft Web 文件夹 Nautilus,Konqueror WebDAV文件系统实现 WebDrive,NetDrive Mac OS X Linux...
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 属性 ...
复制代码 代码如下: /*—————————————————— */ //– 递归删除文件及目录 //– 例: del_dir (‘../cache/’);注意:返回的/是必须的 //– $type 强制删除...== false) { //.svn 忽略 svn 版本控制信
Subversion树冲突解决程序当开发人员移动/重命名/删除文件或文件夹时,另一个开发人员也已经移动/重命名/删除或修改了文件或文件夹,就会发生树冲突。 有许多不同的情况可能导致树冲突,并且所有这些情况都需要不同...
汉化的第一步,是汉化res文件夹里面的程序界面资源。一般来说,这个文件夹里面会包含以下文件夹: Drawable:程序调用的图标以及各种图片; layout-land:竖版界面xml描述文件; layout-port:横版界面xml描述文件;...
其实只是简单地把debug 目录下的配置文件复制到指定目录,把Release下的生成文件复制到同一指定,过滤掉不需要的文件夹(.svn),然后再往这个指定目录添加几个特定的文件。 这个是我的第一个python小程序。 下面...
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. 钩子...